Back to questions
Junior — Middle
56
Применяли ли вы в своих проектах слабые ссылки (weak references)?
Answer from AI
sobes.tech AI
В проектах на 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, так как объект удалён
Это помогает избежать утечек памяти, особенно в сложных структурах данных.