Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при запуске программы?
count = 0
def increment():
count = count + 1
return count
print("start")
print(increment())Выведет start, затем ошибка UnboundLocalError
- Ждать
1, будтоcount + 1читает глобальную переменную: присваивание делаетcountлокальной во всей функции, а у локальной ещё нет значения. - Ждать ошибку раньше
start: тело функции выполняется только при вызове, поэтому сначала печатаетсяstart, а ошибка возникает на вызове.
- Как изменить
increment, чтобы она меняла глобальнуюcount? - Почему функция, которая только читает
countи не присваивает ей, работает?