???紵 发表于 2017-4-29 08:47:22

What does ** and * do for python parameters?

The *args and **kwargs ist a common idiom to allow arbitrary number of arguments to functions as described in the section more on defining functions in the the python documentation.
The *args will give you all funtion parameters a a list:
In : def foo(*args):
...:   for a in args:
...:         print a
...:         
...:         
In : foo(1)
1

In : foo(1,2,3)
1
2
3

The **kwargs will give you all keyword arguments except for those corresponding to a formal parameter as a dictionary.
In : def bar(**kwargs):
...:   for a in kwargs:
...:         print a, kwargs
...:         
...:         
In : bar(name="one", age=27)
age 27
name one
页: [1]
查看完整版本: What does ** and * do for python parameters?