Python Multiple Function Arguments (*args and **kwargs)

In this tutorial, we will learn how to pass multiple arguments to a function. By Sapna Deraje Radhakrishna Last updated : December 30, 2023

Python Multiple Function Arguments

The *args and **kwargs is an approach to pass multiple arguments to a Python function. They allow to pass a variable number of arguments to a function. However, please note it is not necessary to name the variables as *args or **kwargs only. Only the * is important. We could also name the variables as *var or **named_vars.

Python *args (Variable-length arguments)

The *args is used to send a non-keyworded variable length argument list to a function.

Example of variable-length arguments

# Function to extract and print
# the multiple arguments
def test_args(arg1, *argv):
    print("first argument :{}".format(arg1))
    for arg in argv:
        print("argument received :{}".format(arg))

# Function call
test_args("test1", "test2", "test3")

Output

first argument :test1
argument received :test2
argument received :test3

Python **kwargs (Keyworded variable length arguments)

The **kwargs allows to pass keyworded variable length arguments to a method. The **kwargs is used in order to handle named arguments in a function.

Example of keyworded variable length arguments

# Function for demonstrating the
# use of **kwargs
def welcome_names(**kwargs):
    if kwargs:
        for key, value in kwargs.items():
            print("{} = {}".format(key, value))

# Function call
welcome_names(name="include_help")

Output

name = include_help

Another Example

In this example, we will print multiple arguments using the *args and **kwargs. Consider the below steps:

Define a function

Let's first define a function and write the print statements to print the arguments.

def test_multiple_args(arg1, arg2, arg3):
    print(arg1)
    print(arg2)
    print(arg3)

Using *args

Now, let's use *args for the above function,

args = ['test1', 1,2]
test_multiple_args(*args)

It will print -

test1
1
2

Using **kwargs

Now, use **kwargs for the above function,

kwargs = {"arg3": 3, "arg2": "two", "arg1": 5}
test_multiple_args(**kwargs)

It will print -

5
two
3

Python Tutorial

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.