×

Python Tutorial

Python Basics

Python I/O

Python Operators

Python Conditions & Controls

Python Functions

Python Strings

Python Modules

Python Lists

Python OOPs

Python Arrays

Python Dictionary

Python Sets

Python Tuples

Python Exception Handling

Python NumPy

Python Pandas

Python File Handling

Python WebSocket

Python GUI Programming

Python Image Processing

Python Miscellaneous

Python Practice

Python Programs

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

By IncludeHelp Last updated : December 08, 2024

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

Comments and Discussions!

Load comments ↻





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