Что такое замыкание (closure) в Python?
Уровень: Middle
Ответ
Замыкание – это функция, которая “закрывает” (захватывает) значения из окружающей (не глобальной) области видимости. Если внутренняя функция использует переменные внешней функции, то при её возвращении эти переменные сохраняются внутри неё. Таким образом, замкнутая функция хранит в себе контекст (несмотря на то, что внешняя функция уже завершилась). Замыкания позволяют, например, создавать фабрики функций, помнящие переданные им параметры.