Что такое замыкание в Python?

Функция-замыкание в Python — это функция, которая запоминает и может использовать переменные из окружающего (внешнего) контекста, даже если этот контекст уже завершил своё выполнение.

Короткий ответ

Что ответить на собеседовании

Функция-замыкание в Python — это функция, которая запоминает и может использовать переменные из окружающего (внешнего) контекста, даже если этот контекст уже завершил своё выполнение.

Подробный разбор

Ответ с пояснениями

Функция-замыкание в Python — это функция, которая запоминает и может использовать переменные из окружающего (внешнего) контекста, даже если этот контекст уже завершил своё выполнение.

Когда внутри функции определяется вложенная функция, она захватывает ссылки на переменные из внешней функции, а не их значения. Эти переменные сохраняются в специальной области памяти — замыкании (closure), что позволяет вложенной функции обращаться к ним позже.

Пример:

def outer(x):
    def inner(y):
        return x + y  # x берётся из внешней функции
    return inner

f = outer(10)
print(f(5))  # Выведет 15

Здесь inner запоминает значение x из outer, даже после того, как outer завершила работу. Это позволяет создавать функции с сохранённым состоянием без использования глобальных переменных.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее