Dane:python: Jak przechwycić zmienną zadeklarowaną w pozaglobalnym rodowodzie zewnętrznym?
def f():
x = 0
def g():
h()
def h():
x += 1
print(x)
g()
>>> f()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 8, in f
File "<stdin>", line 4, in g
File "<stdin>", line 6, in h
UnboundLocalError: local variable 'x' referenced before assignment
>>>
Jak mogę dokonać h
zobaczyć zmienną x
?
Dzięki.
EDIT
Powinienem wymienić go wcześniej, używam Python 2.7.3
wydaje się niemal -global do mnie ... zły pomysł? (ale wciąż dobre pytanie) – Shep
@Shep: chcesz mieć inne x dla każdego wywołania f(), więc zmienna globalna by tego nie zrobiła. – EOL