0Pricing
Python Academy · Lektion

args und kwargs

Akzeptieren Sie Positions- und Schlüsselwortargumente variabler Länge.

args und kwargs ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung

Mit *args und **kwargs können Funktionen eine variable Anzahl von Positions- und Schlüsselwortargumenten akzeptieren.

Was ist *args?

def f(*args) sammelt alle zusätzlichen Positionsargumente in einem Tupel namens args.
def f(*args):
    print(args)
f(1, 2, 3)  # (1, 2, 3)

*args durchlaufen

for x in args: ... funktioniert, weil args ein Tupel ist. Sie können auch sum(args), max(args) usw. verwenden.
def total(*args):
    return sum(args)
print(total(1, 2, 3, 4, 5))

Was ist **kwargs?

def f(**kwargs) sammelt alle zusätzlichen Schlüsselwortargumente in einem dict namens kwargs.
def f(**kwargs):
    print(kwargs)
f(name='Alice', age=30)

**kwargs verwenden

Greifen Sie wie bei jedem dict auf kwargs zu: for key, val in kwargs.items():
def display(**kwargs):
    for k, v in kwargs.items():
        print(f'{k}: {v}')
display(x=1, y=2)

Normale Parameter, *args und **kwargs kombinieren

def f(a, b, *args, **kwargs): Zuerst kommen normale Parameter, dann *args, danach Nur-Schlüsselwortparameter und schließlich **kwargs.
def f(a, *args, **kwargs):
    print(a, args, kwargs)
f(1, 2, 3, x=4)

Argumente weitergeben

def wrapper(*args, **kwargs): return real_func(*args, **kwargs) gibt alle Argumente vollständig an die umschlossene Funktion weiter.
def real(a, b, c=0): return a+b+c
def wrapper(*args, **kwargs): return real(*args, **kwargs)
print(wrapper(1, 2, c=3))

Entpacken mit * bei Aufrufen

*iterable entpackt jedes iterierbare Objekt in Positionsargumente. **mapping entpackt ein dict in Schlüsselwortargumente.
def add(a, b, c): return a+b+c
args = [1, 2, 3]
print(add(*args))

Erweitertes Entpacken iterierbarer Objekte

first, *rest = [1,2,3,4] ergibt first=1, rest=[2,3,4]. *head, last = lst weist last das letzte Element zu.
first, *rest = [1, 2, 3, 4]
print(first, rest)
*head, last = [1, 2, 3]
print(head, last)

Typannotationen für *args/**kwargs

def f(*args: int, **kwargs: str) annotiert den Typ jedes einzelnen Elements, nicht den des Containers.
def f(*args: int, **kwargs: str) -> None:
    print(args, kwargs)
f(1, 2, name='Alice')

Häufige Muster

print() selbst verwendet *args – print(*my_list) gibt jedes Element durch Leerzeichen getrennt aus. Das ist typisch für Python.
lst = [1, 2, 3]
print(*lst)  # 1 2 3

Kurzer Test

Welchen Typ erzeugt *args innerhalb der Funktion?

Zusammenfassung

*args ist ein Tupel zusätzlicher Positionsargumente. **kwargs ist ein dict zusätzlicher Schlüsselwortargumente. Verwenden Sie sie für flexible APIs und zum Weitergeben von Argumenten.

Weiter so

Sehr gute Arbeit! Fahren Sie mit der nächsten Lektion fort, um weiter voranzukommen.

Häufig gestellte Fragen

Ist die Lektion „args und kwargs“ kostenlos?

Ja — der vollständige Text von „args und kwargs“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „args und kwargs“?

Akzeptieren Sie Positions- und Schlüsselwortargumente variabler Länge. Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „args und kwargs“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Funktionen definieren und aufrufen
  2. Standard- und Schlüsselwortargumente
  3. args und kwargs
  4. Rückgabewerte und Gültigkeitsbereiche
← Zurück zu Python Academy