Python method/function arguments starting with asterisk and dual asterisk [duplicate]
Solution 1:
The *args
and **keywordargs
forms are used for passing lists of arguments and dictionaries of arguments, respectively. So if I had a function like this:
def printlist(*args):
for x in args:
print(x)
I could call it like this:
printlist(1, 2, 3, 4, 5) # or as many more arguments as I'd like
For this
def printdict(**kwargs):
print(repr(kwargs))
printdict(john=10, jill=12, david=15)
*args
behaves like a list, and **keywordargs
behaves like a dictionary, but you don't have to explicitly pass a list
or a dict
to the function.
See this for more examples.