Wie funktionieren verschachtelte Funktionen in Python?
def maker(n):
def action(x):
return x ** n
return action
f = maker(2)
print(f)
print(f(3))
print(f(4))
g = maker(3)
print(g(3))
print(f(3)) # still remembers 2
Warum merkt sich die verschachtelte Funktion den ersten Wert?2
obwohlmaker()
ist zurückgekehrt und von der Zeit verlassenaction()
wird genannt?