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

Как очищается память в Python

В Python используется автоматическое управление памятью через механизм подсчёта ссылок и сборщик мусора (GC).

Основные принципы:

  1. Подсчёт ссылок - объект удаляется, когда количество ссылок на него становится нулём
  2. Циклический сборщик мусора - обнаруживает и удаляет циклические ссылки
  3. Поколения объектов - GC делит объекты на 3 поколения для оптимизации

Пример:

python
import sys
import gc

# Создаём объект
x = [1, 2, 3]
print(sys.getrefcount(x))  # Выведет 2 (1 ссылка + временная в getrefcount)

# Удаляем ссылку
del x
# Теперь память может быть освобождена

# Принудительный вызов сборщика
gc.collect()

Важно: Не рекомендуется часто вызывать gc.collect() вручную, так как Python эффективно управляет памятью самостоятельно. Исключение - работа с большими объектами или освобождение памяти в долгоживущих процессах.

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

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

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

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