Übergabe des Arguments von der übergeordneten Funktion an die verschachtelte Funktion Python
Hier ist mein Code:
def f(x):
def g(n):
if n < 10:
x = x + 1
g(n + 1)
g(0)
Wenn ich f (0) auswerte, würde ein Fehler "x vor Zuweisung referenziert" auftreten.
Wenn ich jedoch "print x" anstelle von "x = x + 1" verwende, funktioniert dies.
Es scheint, dass ich im Rahmen von g x nur als "use happen", nicht aber als "binding happen" verwenden kann. Ich vermute, das Problem ist, dass f nur den WERT von x an g übergibt.
Verstehe ich es richtig oder nicht? Wenn nicht, kann jemand erklären, warum die linke Seite von "x = x + 1" vor dem Verweis nicht definiert ist?
Vielen Dank