Вот мой код:
abc=0
def a():
abc+=1
print abc
И когда я выполняю эту функцию:
a()
Я получаю эту ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in abc
UnboundLocalError: local variable 'abc' referenced before assignment
Я могу исправитьэта проблема, добавив global abc
в функцию, но мой вопрос заключается в том, почему интерпретатор Python не может решить, если какая-то вещь не находится в локальном пространстве, а затем искать глобальный и назначать значение оттуда.
Это делает для печати глобальногопеременная в локальном пространстве, но не для назначения?