Junior — Middle
Avez-vous utilisé des références faibles dans vos projets?
sobes.tech IA
Réponse de l'IA
В проектах на Python я использовал слабые ссылки (weak references) для управления объектами, когда нужно избежать создания сильных ссылок, которые препятствуют сборке мусора. Например, при реализации кэша или наблюдателей, где объекты должны удаляться, если на них больше нет сильных ссылок.
Пример использования модуля weakref:
import weakref
class MyObject:
pass
obj = MyObject()
weak_obj = weakref.ref(obj)
print(weak_obj()) # Выведет объект
del obj
print(weak_obj()) # Теперь None, так как объект удалён
Это помогает избежать утечек памяти, особенно в сложных структурах данных.