Check
Объясните, как работают замыкания в Python. Как они могут приводить к удержанию ненужных объектов в памяти и как этого избегать?

Closures

Ответ 1 / 1

Замыкание — это функция, которая «запоминает» значения из внешней области видимости, даже если та уже завершилась. Эти значения хранятся в `__closure__`. Проблема: если во внешней области был тяжёлый объект, ссылка на него может сохраняться в замыкании дольше, чем нужно. Способы избежать: - не тянуть в замыкание больше, чем нужно; - использовать слабые ссылки (`weakref`) для крупных объектов; - явно разрывать ссылки, когда замыкание больше не используется.