Python Functions with Special Parameters
Python have the special forms of parameters in functions. These special forms of parameters are Args and Kwargs. Args is a special parameter through which any number of positive arguments packed into a tuple. Through Kwargs any number of Keyword Arguments packed into a dictionary.
Args is represented by *args
Kwargs is represented by **Kwargs
Args
*args is a special syntax in function definitions which is used to pass a non-keyworded variable number of arguments to a function. To take variable number of arguments, * is used in the syntax. With *args, any number of arguments can be appended on to the current parameters.
Python Code:
def fruits(*args):
for arg in args:
print (arg)
fruits(‘Mango’, ‘Apple’, ‘Guava’, ‘Banana’)
Output:
Mango
Apple
Guava
Banana

We can also make iterative statements by using *args. In the given example, we are defining two statements. In which first is non iterative and second is iterative statements. The values are assigned by calling the function.
Python Code:
def numbers(arg1, *args):
print (“First number: “, arg1)
for arg in args:
print(“Next number: “, arg)
numbers(‘one’, ‘two’, ‘three’, ‘four’, ‘five’)
Output:
First number: one
Next number: two
Next number: three
Next number: four
Next number: five

Kwargs
Kwargs is a special syntax in function definitions which is used to pass keyworded, variable-length argument list. In syntax we use double star before Kwargs. It is represented as **Kwargs.
Double star allows us to pass values through keyword arguments. Kwargs is a dictionary which maps each keyword to the value which we pass alongside it. When we call the iterative function, there will not be any order.
Python Code:
def winner(**kwargs):
for key, value in kwargs.items():
print ("%s : %s " %(key, value))
winner(first ='ross', second ='john', third='mike')
Output:
first : ross
second : john
third : mike
