Какие плюсы и минусы сборщика мусора (Garbage collector) в Python

«Какие плюсы и минусы сборщика мусора (Garbage collector) в Python» — вопрос из категории Управление памятью, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Плюсы:
✅ Автоматическое управление памятью – разработчику не нужно вручную освобождать память.
✅ Уменьшает риск утечек памяти и ошибок, связанных с ручным управлением.
✅ Упрощает код – нет необходимости в free/delete как в C/C++.

Минусы:
❌ Невозможно точно контролировать момент освобождения памяти.
❌ Нагрузка на процессор – сборщик мусора требует дополнительных ресурсов.
❌ Непредсказуемые паузы (stop-the-world), особенно при работе с большими объектами.

Пример:

class MyClass:
    def __init__(self):
        self.data = [0] * 1000000  # Большой объект

obj = MyClass()  # Создаем объект
obj = None       # Теперь он может быть удален GC