Quillon

Словарь › nonlocal

Ключевые слова

nonlocal

Похоже на global, но работает для вложенных функций: говорит Python взять переменную из ближайшей внешней функции (не глобальной). Нужно, когда функция внутри функции хочет изменить переменную «родителя».

Пример · python
def make_counter():
    count = 0
    def increment():
        nonlocal count  # берём count из make_counter
        count += 1
        return count
    return increment

next_val = make_counter()
print(next_val())  # 1
print(next_val())  # 2
← Весь словарь