Objektwert innerhalb einer Funktion binden (Closure)

In SML (einer funktionalen Programmiersprache, die ich vor Python gelernt habe) kann ich Folgendes tun:

val x = 3;
fun f() = x;
f();
>>> 3
val x = 7;
f();
>>> 3

In Python hingegen gibt der erste Aufruf 3 und der zweite 7.

x = 3
def f(): return x
f()
>>> 3
x = 7
f()
>>> 7

Wie binde ich den Wert einer Variablen an eine Funktion in Python?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage