Przekazywanie argumentu z funkcji nadrzędnej do zagnieżdżonej funkcji Python
oto mój kod:
def f(x):
def g(n):
if n < 10:
x = x + 1
g(n + 1)
g(0)
Gdy oceniam f (0), wystąpiłby błąd „x przywoływany przed przypisaniem”.
Jednak gdy użyję „print x” zamiast „x = x + 1”, zadziała.
Wydaje się, że w zakresie g mogę używać tylko x jako „wystąpienia użycia”, ale nie „zdarzenia wiążącego”. Myślę, że problem polega na tym, że f przekazuje g tylko WARTOŚĆ x.
Czy rozumiem to poprawnie? Jeśli nie, czy ktoś może wyjaśnić, dlaczego lewa strona „x = x + 1” nie jest zdefiniowana przed odniesieniem?
Dzięki