Дано:python: Как захватить переменную, объявленную в не глобальном внешнем пространстве?
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
>>>
Как я могу сделать h
видеть переменную x
?
Спасибо.
EDIT
Если упоминать об этом раньше, я использую Python 2.7.3
кажется, почти -круглый ко мне ... плохая идея? (но все еще хороший вопрос) – Shep
@Shep: вам нужен другой x для каждого вызова f(), поэтому глобальная переменная не будет работать. – EOL