Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Using **kwargs in Python: Flexible Keyword Arguments for Dynamic Functions | Mastering Function Arguments in Python
Intermediate Python Techniques

book
Using **kwargs in Python: Flexible Keyword Arguments for Dynamic Functions

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.

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")
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

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)
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?

question mark

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

Select the correct answer

question mark

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

def print_details(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

Select the correct answer

question mark

Given the function definition below, which call is valid?

def mix_args(a, *args, **kwargs):
print(a, args, kwargs)

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand
ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt