Зачем нужен сборщик мусора (Garbage Collector)

Python Middle Без компании
Зачем нужен сборщик мусора (Garbage Collector)
Ответы
Сборщик мусора (GC) автоматически освобождает память, занятую объектами, которые больше не используются в программе. Это избавляет разработчика от ручного управления памятью, предотвращая утечки и ошибки. **Основные преимущества:** - Упрощает код — не нужно вызывать `free`/`delete` как в C/C++. - Предотвращает утечки памяти. - Избегает висячих ссылок (dangling pointers). **Пример утечки без GC:** ``` # Без GC (гипотетически) obj = create_object() obj = None # Старый объект остался в памяти ``` **Как работает в Python:** Использует подсчёт ссылок + generational GC для обнаружения циклических ссылок: ``` a = [] b = [a] a.append(b) # Циклическая ссылка # Без GC эти объекты никогда не удалились бы ``` **Минусы:** - Накладные расходы на работу GC. - Не всегда предсказуемое время освобождения памяти.