Python WeakKeyDictionary 相等键:后来的对象还活着,为什么条目却跟着原键消失 给文档对象附加临时备注时,可以把对象作为WeakKeyDictionary的键,让备注随对象释放。但如果两个不同对象按业务编号比较相等,向第二个对象写入备注后,删除第一个对象仍可能让条目消失。关键不只是是否使用弱引用... yunqueblog/ 技术教程/ 2026-10-02/ 4 阅读
Python finalize 清理回调:已经删掉对象,为什么绑定方法还把它留住了 为对象注册销毁时的清理动作,最顺手的写法是 weakref.finalize(obj, obj.close)。但删掉 obj 后,close 迟迟没有执行。终结器虽然通过弱引用观察目标,它保存的回调却是绑定方法;绑定... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
Python 弱值缓存:放进 WeakValueDictionary 的对象为什么会自动消失 缓存不一定负责把对象留住一个解析器希望复用已经生成的文档对象,又不想让缓存长期占住全部文档。把普通字典换成 WeakValueDictionary 后,有些键却很快消失。这并不是缓存随机丢数据,而是弱值字典只帮忙找到... yunqueblog/ 技术教程/ 2026-10-01/ 3 阅读