Skip to content

Arbitrary keyword arguments in Python | **kwargs

  • by

Arbitrary keyword arguments, often denoted by **kwargs, refer to a feature in Python that allows a function to accept an arbitrary number of keyword arguments. It provides flexibility when you don’t know in advance how many keyword arguments will be passed to a function or what their names will be.

You can define functions that accept arbitrary keyword arguments using the double asterisk (**) syntax. This allows you to pass any number of keyword arguments to a function without explicitly defining them in the function signature.

def function_name(**kwargs):
    # Function body

The **kwargs parameter allows you to pass any number of keyword arguments to the function. Inside the function, kwargs becomes a dictionary that holds the keyword arguments, where the keys are the argument names, and the values are the corresponding values.

Arbitrary keyword arguments in Python example

To access the values of the keyword arguments, you can use the dictionary methods or iterations. Here’s an example:

def process_data(**kwargs):
    for key, value in kwargs.items():
        print(key, ":", value)

process_data(name="John", age=30, city="New York")

Output:

Arbitrary keyword arguments in Python kwargs

In this example, the process_data function accepts arbitrary keyword arguments using the **kwargs parameter. The function body iterates over the kwargs dictionary using the items() method and prints each key-value pair.

You can pass any number of keyword arguments to the function, and they will be captured in the kwargs dictionary.

Do comment if you have any doubts or suggestions on this Python function topic.

Note: IDE: PyCharm 2021.3.3 (Community Edition)

Windows 10

Python 3.10.1

All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.

Leave a Reply

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