Exkurs - Parameterübergabe in Python
Zeiger (ver)setzen
Wie bei Zuweisungen werden auch bei Parameterübergaben und bei Rückgaben von Funktionswerten Zeiger gesetzt. Zur Verdeutlichung betrachten wir das folgende Programmbeispiel.
Bei der Ausführung werden folgende Ausgaben auf dem Bildschirm gemacht.
a: 2 id(a): 505300136 x: 2 id(x): 505300136 y: 4 id(y): 505300168 a: 4 id(a): 505300168
Die Diagramme veranschaulichen, wie die beteilgten Variablen ihre Daten verwalten.
a = 2 {a -> 2}

d(a) # Übergabe der Parameter {a -> 2, {x -> 2}}

y = x + x # Zuweisung an eine lokale Variable {a -> 2, {x -> 2, y -> 4}}

a = d(a) # Rückgabe und Weitergabe des Funktionswerts {a -> 4}

Der Mechanismus, der auf dem Setzen von Zeigern beruht, funktioniert auch, wenn - wie im folgenden Beispiel - gleichnamige Variablen benutzt werden.
Bei der Ausführung werden folgende Ausgaben auf dem Bildschirm gemacht.
a: 2 id(a): 505300136 a: 2 id(a): 505300136 a: 4 id(a): 505300168 a: 4 id(a): 505300168
Die Diagramme veranschaulichen, wie die beteilgten Variablen ihre Daten verwalten.
a = 2 {a -> 2}

d(a) # Übergabe der Parameter {a -> 2, {a -> 2}}

a = a + a # Zuweisung an eine lokale Variable {a -> 2, {a -> 4}}

a = d(a) # Rückgabe und Weitergabe des Funktionswerts {a -> 4}
