Встречается на собеседованиях • сегодня
Что такое циклическая ссылка
Циклическая ссылка возникает, когда объекты ссылаются друг на друга напрямую или через цепочку других объектов, образуя цикл. Это может привести к утечкам памяти, так как сборщик мусора Python (использующий подсчёт ссылок) не сможет корректно удалить такие объекты.
Пример:
python
a = []
b = [a]
a.append(b) # Теперь a содержит b, который содержит aДля обнаружения циклических ссылок можно использовать модуль gc:
python
import gc
gc.collect() # Принудительный сбор мусора
print(gc.garbage) # Покажет неудаляемые объекты с цикламиЧтобы избежать проблем:
- Используйте слабые ссылки (
weakref) для связей, которые не должны препятствовать удалению объектов - Явно разрывайте циклические ссылки, когда они больше не нужны (
del a[0]) - Для сложных структур данных рассмотрите использование
__del__с осторожностью

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы