**Kwargs
Nun, lassen Sie uns zu keyword arbitrary arguments
oder **kwargs
übergehen. Das Prinzip, wie **kwargs
funktioniert, ist dasselbe wie bei *args
, aber es akzeptiert Schlüsselwortargumente anstelle von positionsabhängigen. **kwargs
packt Informationen in ein Wörterbuch, daher werden wir entsprechend damit arbeiten.
9
1
2
3
4
5
6
7
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")
1234567def 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")
Die korrekte Reihenfolge für die Argumente ist wie folgt:
Positional
Optional
*args
**kwargs
9
1
2
3
4
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)
1234def 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)
Wenn Sie Dictionaries entpacken möchten, müssen Sie **
vor der Dictionary-Variable verwenden.
1. Was stellt **kwargs in einer Python-Funktionssignatur dar?
2. Was wird print_details(name="Alice", age=30) ausgeben?
3. Angenommen, die folgende Funktionsdefinition, welcher Aufruf ist gültig?
War alles klar?
Danke für Ihr Feedback!
Abschnitt 2. Kapitel 4
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen