What is Keyword Argument in Python with Example?

Keyword argument is a type of function argument that is identified by the parameter name along with its corresponding value when the function is called.

Here’s an example to demonstrate the use of keyword arguments:

def greet(name, message):
    """A function that greets a person with a custom message."""
    print(f"{message}, {name}!")

# Call the function using keyword arguments
greet(name="Alice", message="Hello")
greet(message="Hi", name="Bob")
Code language: Python (python)

In the above example, the greet function takes two parameters: name and message.

When the function is called, keyword arguments are used to specify the values for these parameters.

In the first function call, name="Alice" and message="Hello" are passed as keyword arguments.

Similarly, in the second function call, message="Hi" and name="Bob" are used as keyword arguments.

The order in which the keyword arguments are provided doesn’t matter as long as the parameter names are specified correctly.

Output:

Hello, Alice!
Hi, Bob!Code language: Python (python)

Using keyword arguments allows for greater clarity and flexibility in function calls, especially when a function has multiple parameters with default values or when you want to explicitly specify which value corresponds to which parameter.

How do you send keyword arguments in Python?

Keyword arguments are sent by specifying the parameter names along with their corresponding values when calling a function.

Here are the steps to send keyword arguments:

  • Identify the function you want to call that accepts keyword arguments.
  • Provide the parameter names followed by the values you want to pass, using the syntax parameter_name=value.
  • Separate multiple keyword arguments with commas.

Here’s an example that demonstrates how to send keyword arguments:

def add_numbers(a, b):
    """A function that adds two numbers."""
    result = a + b
    print(f"The sum of {a} and {b} is {result}.")

# Call the function with keyword arguments
add_numbers(a=6, b=3)
add_numbers(b=7, a=1)
Code language: Python (python)

In the above example, the add_numbers function takes two parameters: a and b.

When calling the function, keyword arguments are used to pass values for these parameters.

In the first function call, a=6 and b=3 are provided as keyword arguments. Similarly, in the second function call, b=7 and a=1 are used as keyword arguments.

The order in which the keyword arguments are provided doesn’t matter as long as the parameter names are specified correctly.

Output:

The sum of 6 and 3 is 9.
The sum of 1 and 7 is 8.Code language: Python (python)

By using keyword arguments, you can provide values for specific parameters in any order, making your function calls more explicit and readable.

Why use keyword arguments in Python?

Keyword arguments in Python provide several benefits and are commonly used in various scenarios.

Here are some reasons why you might want to use keyword arguments:

  • Clarity and Readability: Keyword arguments make function calls more explicit and self-explanatory. By specifying parameter names along with values, it becomes easier to understand the purpose of each argument, especially when the function has multiple parameters or default values.
  • Flexibility and Avoiding Errors: With keyword arguments, you can provide values for specific parameters in any order, regardless of their position in the function’s parameter list. This flexibility allows you to skip optional parameters or override default values without having to provide values for all preceding parameters.
  • Default Parameter Values: Keyword arguments are particularly useful when a function has parameters with default values. By using keyword arguments, you can selectively override the default values for specific parameters while accepting the defaults for others. This provides greater control and avoids the need to remember the order of parameters.
  • Function Signature Evolution: Keyword arguments make it easier to add new parameters to a function without breaking existing function calls. Since keyword arguments are specified by name, existing function calls that only provide values for the older parameters can remain unchanged.
  • Documentation and Self-Documenting Code: When using keyword arguments, the parameter names act as labels, providing clear documentation within the function call itself. This self-documenting nature of keyword arguments enhances code readability and helps other developers understand the purpose of each argument.

Overall, keyword arguments in Python improve code clarity, flexibility, and maintainability, especially in functions with multiple parameters, default values, or evolving signatures. They allow for more expressive and readable function calls, making your code easier to understand and maintain.

Read More;

  • Dmytro Iliushko

    I am a middle python software engineer with a bachelor's degree in Software Engineering from Kharkiv National Aerospace University. My expertise lies in Python, Django, Flask, Docker, REST API, Odoo development, relational databases, and web development. I am passionate about creating efficient and scalable software solutions that drive innovation in the industry.

    View all posts

Leave a Comment