Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
**kwargs | Arguments in Function
Intermediate Python Techniques
course content

Course Content

Intermediate Python Techniques

Intermediate Python Techniques

1. Packing and Unpacking
2. Arguments in Function
3. Function as an Argument
4. Variable Scope
5. Decorators

book
**kwargs

Now, let's move on to keyword arbitrary arguments or **kwargs. The principle of how **kwargs works is the same as for *args, but it accepts keyword arguments instead of positional ones. **kwargs packs information into a dictionary, so we will work with it accordingly.

1234567
def personal_info(name, **kwargs): print(f"Name: {name}") for key, value in kwargs.items(): print(f"{key.capitalize()}: {value}") personal_info("Sarah", surname="Conor", son="John") personal_info("Natalie", cats="3", breed="Maine Coon")
copy

The correct order for the arguments is as follows:

  1. Positional
  2. Optional
  3. *args
  4. **kwargs
1234
def new_func(a, b=0, *args, **kwargs): print(f"a = {a}, b = {b}, args = {args}, kwargs = {kwargs}") new_func(1, 2, "Love", "Hope", name="Anna", age=20)
copy

If you want to unpack dictionaries, you need to use ** before the dictionary variable.

1. What does **kwargs in a Python function signature represent?
2. What will print_details(name="Alice", age=30) output?
3. Given the function definition below, which call is valid?
What does **kwargs in a Python function signature represent?

What does **kwargs in a Python function signature represent?

Select the correct answer

What will print_details(name="Alice", age=30) output?

What will print_details(name="Alice", age=30) output?

Select the correct answer

Given the function definition below, which call is valid?

Given the function definition below, which call is valid?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 2. Chapter 4
We're sorry to hear that something went wrong. What happened?
some-alt