В этом фрагменте кода я могу напечатать значение счетчика из функции бара
def foo():
counter = 1
def bar():
print("bar", counter)
return bar
bar = foo()
bar()
Но когда я пытаюсь увеличить счетчик внутри функции бара, я получаю ошибку UnboundLocalError.
UnboundLocalError: local variable 'counter' referenced before assignment
Фрагмент кода с оператором приращения в.
def foo():
counter = 1
def bar():
counter += 1
print("bar", counter)
return bar
bar = foo()
bar()
У вас есть доступ только для чтения к переменным во внешней функции в закрытии Python?