Sobes.tech
Middle

Kas ir nonlocal Python?

sobes.tech AI

Atbilde no AI

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

Пример:

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

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

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