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

Какие знаешь способы освобождения памяти в Python

В Python память управляется автоматически через сборщик мусора (GC), но есть способы влиять на этот процесс:

  1. del – удаляет ссылку на объект, уменьшая счетчик ссылок. Если он достигает 0, память освобождается.
python
x = [1, 2, 3]
del x  # Удаляет ссылку на список
  1. gc.collect() – принудительный запуск сборщика мусора для удаления циклических ссылок.
python
import gc
gc.collect()  # Явный вызов GC
  1. Контекстные менеджеры (with) – автоматически освобождают ресурсы (файлы, соединения).
python
with open('file.txt') as f:
    data = f.read()
# Файл закрыт автоматически
  1. Использование слабых ссылок (weakref) – для кеширования без удержания объектов в памяти.

Для больших структур данных можно использовать:

  • numpy.array вместо списков
  • Генераторы (yield) для обработки данных по частям

Важно: в CPython память не всегда возвращается ОС сразу после освобождения (особенно с малыми объектами).

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

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

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

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