What is meaning of and usage of *args, **kwargs?

*args: Used when not sure the number of arguments to be passed to a function. e.g. to pass a stored list or tuple of arguments

def show_args(*args):  
    for arg in args:  
        print (arg) 
    
show_args('Hello', 'World', 'Python')  

Output:

Hello
World
Python

**kwargs: Used when not sure the number of keyword arguments to be passed to a function. e.g. to pass the values of a dictionary as keyword arguments

def show_kwargs(**kwargs):  
    for key, value in kwargs.items(): 
        print (f"{key}: {value}")

show_kwargs(first='1', second='2', third='3')

Output:

first: 1
second: 2
third: 3

Leave a Reply

Your email address will not be published. Required fields are marked *