Weak reference (weakref) — ссылка на объект, которая не увеличивает reference count. Если все «сильные» ссылки удалены, объект собирается GC, а weak ref возвращает None. weakref.ref(obj) — создаёт слабую ссылку. weakref.WeakValueDictionary — словарь, не удерживающий значения. Используется для кэшей: объект кэшируется пока на него кто-то ссылается, иначе автоматически удаляется. Также полезен для observer pattern — подписчики не мешают удалению объекта.