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

Почему происходит замыкание функции в Python

Замыкание в Python возникает, когда вложенная функция запоминает значения переменных из внешней области видимости, даже после завершения работы внешней функции. Это возможно благодаря тому, что Python хранит ссылки на эти переменные в атрибуте __closure__ вложенной функции.

Пример:

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

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

Ключевые моменты:

  1. Вложенная функция обращается к переменным внешней функции
  2. Внешняя функция возвращает вложенную функцию
  3. Возвращенная функция сохраняет доступ к переменным внешней области видимости

Замыкания полезны для создания фабрик функций, callback-ов и реализации декораторов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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