
⚡️ Разница между global и nonlocal
global — объявление, которые говорит о том, что перечисленные идентификаторы стоит воспринимать как глобальные. То есть, все изменения внутри функции будут влиять на внешнюю переменную.
nonlocal — оператор, уведомляющий среду, что стоит работать не с локальной переменной, а уровнем выше.
То есть, если вы создадите функцию внутри функции и используете nonlocal, то будет использоваться не глобальная переменная, а та, что в функции-родителя (смотреть method2).
Стоит отметить, что в отличии от global, nonlocal требует, что бы переменная уже была определена.
Ну и как всегда — документация :)
#теория #операторы
global — объявление, которые говорит о том, что перечисленные идентификаторы стоит воспринимать как глобальные. То есть, все изменения внутри функции будут влиять на внешнюю переменную.
nonlocal — оператор, уведомляющий среду, что стоит работать не с локальной переменной, а уровнем выше.
То есть, если вы создадите функцию внутри функции и используете nonlocal, то будет использоваться не глобальная переменная, а та, что в функции-родителя (смотреть method2).
Стоит отметить, что в отличии от global, nonlocal требует, что бы переменная уже была определена.
Ну и как всегда — документация :)
#теория #операторы