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

Что такое garbage collector в Python

Garbage collector (GC) в Python — это механизм автоматического управления памятью, который освобождает память от неиспользуемых объектов. Он отслеживает объекты, на которые больше нет ссылок, и удаляет их.

Основные особенности:

  1. Сборщик мусора в Python использует подсчёт ссылок (reference counting) как основной механизм. Каждый объект имеет счётчик ссылок, который увеличивается при создании новой ссылки и уменьшается при её удалении. Когда счётчик достигает нуля, память освобождается.
  2. Циклические ссылки не могут быть обработаны подсчётом ссылок, поэтому Python также использует алгоритм mark-and-sweep для их обнаружения и удаления.

Пример циклической ссылки:

python
class Node:
    def __init__(self):
        self.ref = None

a = Node()
b = Node()
a.ref = b
b.ref = a  # Циклическая ссылка
del a, b   # Объекты больше не доступны, но ссылки остаются

Для управления GC можно использовать модуль gc:

python
import gc
gc.disable()  # Отключить GC
gc.enable()   # Включить GC
gc.collect()  # Принудительный сбор мусора
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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