*args
and **kwargs
are used to pass a variable number of Arguments to a function.
*args
is used to pass a variable number of positional Arguments and **kwargs
is used to pass a variable number of keyword Arguments.
See Variable Number of Arguments for more information.
The names args
and kwargs
are just a convention and you can use any other names but it is recommended to stick to the convention.
What I mean by the above is that the actual syntactic sugar/feature of Python is the fact that ’*’ and ’**’ can be used to unpack lists and Key-Value Pairs respectively.