Встречается на собеседованиях • сегодня

Как работает замыкание в Python

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

Пример:

python
def outer_func(x):
    def inner_func(y):
        return x + y
    return inner_func

closure = outer_func(10)
print(closure(5)) # 15

text

Здесь `inner_func` запоминает значение `x=10` из `outer_func` даже после завершения её работы. Замыкания полезны для:
- Создания функций с предустановленными параметрами
- Реализации декораторов
- Сохранения состояния между вызовами

Важно: замыкание хранит ссылки, а не значения. Если внешняя переменная изменяется, замыкание будет использовать новое значение. Для фиксации значений можно использовать аргументы по умолчанию: `lambda y, x=x: x + y`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы