🐍 Сложная задача по Python: Замыкания и области видимости

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

🐍 Сложная задача по 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.