... > Python > Ключевое слово nonlocal...

Ключевое слово nonlocal в Python

НАВИГАЦИЯ ПО СТРАНИЦЕ

Слово "nonlocal"
ПОЛНЫЙ ОТВЕТ
БЕЗ ВОДЫ
Без воды — краткий вариант ответа,
легко понять и запомнить

Слово "nonlocal" — это ключевое слово в Python, которое используется в контексте работы с переменными внутри вложенных функций.

Оно позволяет изменять переменные, которые находятся в объемлющей функции, но не являются глобальными. Давайте рассмотрим пример, чтобы лучше понять, как работает "nonlocal".

def внешняя_функция():
    переменная = 10  # Это переменная внутри внешней функции
    def вложенная_функция():
        nonlocal переменная  # С помощью "nonlocal" мы указываем, что хотим работать с переменной из внешней функции
        переменная = 20
    вложенная_функция()
    print("Переменная внешней функции:", переменная)

внешняя_функция()
Результат программы

Результат программы

В этом примере мы имеем две функции: "внешняя_функция" и "вложенная_функция". В "внешняя_функция" есть переменная "переменная", и мы хотим изменить её значение внутри "вложенная_функция". Используя "nonlocal", мы указываем, что переменная, которая называется так же, как переменная во внешней функции, не является новой локальной переменной, а ссылается на переменную из внешней функции. Поэтому после вызова "вложенная_функция" значение "переменная" в "внешняя_функция" изменяется на 20.

Это полезно, когда вам нужно внутри вложенных функций работать с переменными из объемлющей функции, но при этом не делать их глобальными