fbpx

Области видимости. Помогите разобраться с примером из Лютца

551 просмотраpython-3.5 windows-10
0
0 Комментариев

В теме о сохранении переменных, содержащих информацию о вызове функций, есть такой пример:

def tester(start):
    def nested(label):
        print(label, nested.state)
        nested.state += 1
    nested.state = start
    return nested
 f = tester(0)
f('a')
f('b')


Подскажите, пожалуйста, чем отличается этот код от следующего, который не рабочий, но, кажется, что должен делать то же самое:

def tester(start):
    def nested(label):
        print(label, state)
        state += 1
    nested.state = start
    return nested


Добавить комментарий

1 Ответы

Python Опубликовано 21.04.2019
0
Анонимный пользователь 0 Comments

3-4 строка, state не относится к nested, поэтому является необъявленной

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up