Sobes.tech
Middle

Mi az a nonlocal a Pythonban?

sobes.tech MI

Válasz az MI-től

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

Пример:

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

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

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