Each Answer to this Q is separated by one/two green lines.
I am not able understand where does these type of functions are used and how differently these arguments work from the normal arguments. I have encountered them many time but never got chance to understand them properly.
def method(self, *links, **locks): #some foo #some bar return
I know i could have search the documentation but i have no idea what to search for.
**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
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.