Sobes.tech
Back to questions
Middle
9

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

Companies where asked
IT1

Answer from AI

sobes.tech AI

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

Пример:

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

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

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