Что такое nonlocal в Python?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Пример:

def outer():
    x = 5
    def inner():
        nonlocal x
        x = 10
    inner()
    return x

print(outer())  # Выведет 10

Без nonlocal попытка присвоить значение x внутри inner создаст новую локальную переменную, не изменяя x из outer.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее