What does * and * do for python parameters
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:
The **kwargs will give you all keyword arguments except for those corresponding to a formal parameter as a dictionary.
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 [1]: def foo(*args): ...: for a in args: ...: print a ...: ...: In [2]: foo(1) 1 In [4]: 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 [5]: def bar(**kwargs): ...: for a in kwargs: ...: print a, kwargs[a] ...: ...: In [6]: bar(name="one", age=27) age 27 name one