Встречается на собеседованиях • сегодня

Что такое Nonlocal

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

Пример:

python
def outer():
    x = 10
    def inner():
        nonlocal x
        x = 20  # изменяем x из outer()
    inner()
    print(x)  # Выведет 20
outer()

Ключевые моменты:

  1. Работает только с переменными из внешних функций
  2. Нельзя использовать с глобальными переменными (для них нужен global)
  3. Если переменная не найдена во внешних областях — будет SyntaxError
  4. Полезен для замыканий и вложенных функций
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы