Python – Keyword Arguments

In Python, keyword arguments are a powerful feature that allows you to specify arguments by their parameter names when calling a function. This provides flexibility and clarity in function calls, especially when dealing with functions that have a large number of arguments or default values.

Keyword arguments are defined by using the parameter name followed by an equals sign (=) and the corresponding value. This allows you to pass arguments to a function in any order, as long as you specify the parameter name.

Let’s take a look at some examples to better understand how keyword arguments work:

Example 1: Simple Function with Keyword Arguments

Consider the following function:

def greet(name, age):
    print("Hello", name, "you are", age, "years old.")

If we call this function using keyword arguments, we can pass the arguments in any order:

greet(age=25, name="John")
greet(name="Alice", age=30)

Both function calls will produce the same output:

Hello John, you are 25 years old.
Hello Alice, you are 30 years old.

Using keyword arguments provides clarity and makes the function calls self-explanatory, especially when the function has multiple parameters.

Example 2: Default Values with Keyword Arguments

Keyword arguments are particularly useful when dealing with functions that have default parameter values. Let’s see an example:

def calculate_total(price, quantity=1, discount=0):
    total = price * quantity - discount
    return total

In this example, the function calculate_total takes three arguments: price, quantity, and discount. The quantity and discount parameters have default values of 1 and 0, respectively.

If we call this function using keyword arguments, we can omit any arguments with default values:

total1 = calculate_total(price=10, quantity=2, discount=5)
total2 = calculate_total(price=15, discount=3)
total3 = calculate_total(price=20)

The function calls above will calculate the total based on the provided arguments and default values. The variables total1, total2, and total3 will store the calculated totals.

Example 3: Mixing Positional and Keyword Arguments

Python allows you to mix positional and keyword arguments in function calls. Consider the following example:

def calculate_area(length, width):
    area = length * width
    return area

If we call this function using both positional and keyword arguments, the order of the arguments matters:

area1 = calculate_area(5, 10)
area2 = calculate_area(length=7, width=8)
area3 = calculate_area(6, width=9)

The function calls above will calculate the area based on the provided arguments. The variables area1, area2, and area3 will store the calculated areas.

It’s important to note that when using keyword arguments, all positional arguments must be specified before any keyword arguments.

Conclusion

Keyword arguments in Python provide flexibility and clarity in function calls. They allow you to specify arguments by their parameter names, making the code more readable and self-explanatory. Keyword arguments are especially useful when dealing with functions that have a large number of arguments or default values. By understanding and utilizing keyword arguments, you can write more expressive and maintainable Python code.

Scroll to Top