🐍 Сложная задача по Python: Замыкания и области видимости
12 апреля 2025 г.Python/ django

🐍 Сложная задача по Python: Замыкания и области видимости
Что выведет следующий код?
def outer():
x = 5
def inner():
nonlocal x
x += 1
return x
return inner
f = outer()
print(f())
print(f())
print(f())
Варианты ответа:
A)
6
7
8
B)
5
5
5
C)
6
6
6
D)
Ошибка выполнения
✅ Правильный ответ: A
Почему:
Функция outer создаёт замыкание. Переменная x сохраняется между вызовами f, потому что inner — замыкает x и изменяет её с помощью nonlocal. Это классический пример использования замыканий в Python.