在下面的方法定义,什么是*
和**
为做param2
?
def foo(param1, *param2):
def bar(param1, **param2):
Run Code Online (Sandbox Code Playgroud) python syntax parameter-passing variadic-functions argument-unpacking
所以我有这个概念的困难*args
和**kwargs
.
到目前为止,我已经了解到:
*args
=参数列表 - 作为位置参数**kwargs
= dictionary - 其键成为单独的关键字参数,值成为这些参数的值.我不明白这会对哪些编程任务有所帮助.
也许:
我想输入列表和字典作为函数AND的参数同时作为通配符,所以我可以传递任何参数?
有一个简单的例子来说明如何*args
和**kwargs
使用?
我发现的教程也使用了"*"和变量名.
是*args
和**kwargs
刚才占位符或者你使用完全相同*args
,并**kwargs
在代码中?
我正在使用itertools.chain以这种方式"压扁"列表列表:
uniqueCrossTabs = list(itertools.chain(*uniqueCrossTabs))
Run Code Online (Sandbox Code Playgroud)
这有什么不同于说:
uniqueCrossTabs = list(itertools.chain(uniqueCrossTabs))
Run Code Online (Sandbox Code Playgroud)