Passando argumento da função pai para a função aninhada Python
aqui está o meu código:
def f(x):
def g(n):
if n < 10:
x = x + 1
g(n + 1)
g(0)
Quando avalio f (0), haveria um erro "x referenciado antes da atribuição".
No entanto, quando eu uso "print x" em vez de "x = x + 1", funcionará.
Parece que no escopo de g, eu só posso usar x como uma "ocorrência de uso", mas não uma "ocorrência de ligação". Eu acho que o problema é que f passa para g apenas o valor de x.
Estou entendendo corretamente ou não? Se não, alguém pode explicar porque o lado esquerdo de "x = x + 1" não está definido antes da referência?
obrigado