Stewdent.eu
▾

Parameter und Argumente

Parameter sind die Variablen, die eine Funktion bei ihrer Definition erwartet. Argumente sind die tatsächlichen Werte, die beim Aufruf übergeben werden. Sie ermöglichen es, Funktionen flexibel einzusetzen.

Zuletzt aktualisiert: 1. Januar 2026

★★☆☆☆ Stufe 2computingprogrammingfunktionenparameterargumente3 Min Lesezeit

Fehler melden

Funktionen werden erst dann wirklich nützlich, wenn sie mit unterschiedlichen Eingabewerten arbeiten können. Anstatt für jede Situation eine neue Funktion zu schreiben, kannst du Parameter verwenden, um eine Funktion flexibel zu gestalten.

Parameter vs. Argumente

Diese beiden Begriffe werden oft verwechselt:

  • Parameter ist der Name der Variable in der Funktionsdefinition.
  • Argument ist der tatsächliche Wert, der beim Aufruf übergeben wird.
def begruesse(name):       # 'name' ist der Parameter
    print(f"Hallo, {name}!")

begruesse("Anna")           # "Anna" ist das Argument
begruesse("Max")            # "Max" ist das Argument

Mehrere Parameter

Eine Funktion kann mehrere Parameter haben, getrennt durch Kommas:

def addiere(a, b):
    ergebnis = a + b
    print(f"{a} + {b} = {ergebnis}")

addiere(3, 5)    # 3 + 5 = 8
addiere(10, 7)   # 10 + 7 = 17
Hinweis

Die Reihenfolge der Argumente ist wichtig! addiere(3, 5) gibt a=3 und b=5. Wenn du die Reihenfolge vertauschst, werden auch die Parameter in der falschen Reihenfolge belegt — das kann bei nicht-kommutativen Operationen (wie Subtraktion oder Division) zu falschen Ergebnissen führen.

Standardwerte für Parameter

Du kannst einem Parameter einen Standardwert geben, der verwendet wird, wenn kein Argument übergeben wird:

def potenziere(basis, exponent=2):
    return basis ** exponent

print(potenziere(5))      # 25  (exponent ist standardmäßig 2)
print(potenziere(3, 3))   # 27  (exponent wird mit 3 überschrieben)
Tipp

Platziere Parameter mit Standardwerten immer nach den Pflichtparametern. def f(a=1, b) ist in Python nicht erlaubt — Python weiß sonst nicht, welchem Parameter der übergebene Wert gehört.

Schlüsselwortargumente

Du kannst Argumente auch namentlich übergeben — dann spielt die Reihenfolge keine Rolle:

def beschreibe_person(name, alter, stadt):
    print(f"{name} ist {alter} Jahre alt und lebt in {stadt}.")

beschreibe_person(alter=14, stadt="Berlin", name="Lisa")
# Lisa ist 14 Jahre alt und lebt in Berlin.

Praktisches Beispiel

def berechne_rabatt(preis, rabatt_prozent=10):
    """Berechnet den Preis nach Rabatt."""
    rabatt = preis * (rabatt_prozent / 100)
    endpreis = preis - rabatt
    return endpreis

print(berechne_rabatt(50))         # 45.0  (10 % Standard)
print(berechne_rabatt(80, 25))     # 60.0  (25 % Rabatt)
print(berechne_rabatt(preis=100, rabatt_prozent=15))  # 85.0
Warnung

Verwende keine veränderbaren Objekte (wie Listen) als Standardparameter. def f(liste=[]) kann zu unerwarteten Fehlern führen, weil die Liste zwischen allen Funktionsaufrufen geteilt wird. Verwende stattdessen def f(liste=None) und erstelle die Liste innerhalb der Funktion.

Übungsaufgaben

Was ist der Unterschied zwischen einem Parameter und einem Argument? Gib ein Beispiel.

Antwort anzeigen
Ein Parameter ist der Variablenname in der Funktionsdefinition (z. B. 'name' in def begruesse(name)), während ein Argument der tatsächliche Wert ist, der beim Aufruf übergeben wird (z. B. 'Anna' in begruesse('Anna')).

Was gibt der folgende Code aus? def f(x, y=5): print(x + y) / f(3) / f(3, 10)

Antwort anzeigen
Erster Aufruf f(3): gibt 8 aus (3 + 5, da y den Standardwert 5 hat). Zweiter Aufruf f(3, 10): gibt 13 aus (3 + 10, da y mit 10 überschrieben wird).