Kursinhalt
Fortgeschrittene Python-Techniken
Fortgeschrittene Python-Techniken
2. Argumente in Funktionen
3. Funktion als Argument
**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.
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")
Die korrekte Reihenfolge für die Argumente ist wie folgt:
- Positional
- Optional
- *args
- **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)
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