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?