如何在Python中创建对象的弱引用?
答案 0 :(得分:11)
>>> import weakref
>>> class Object:
... pass
...
>>> o = Object()
>>> r = weakref.ref(o)
>>> # if the reference is still active, r() will be o, otherwise None
>>> do_something_with_o(r())
有关详细信息,请参阅wearkref module docs。
您还可以使用weakref.proxy
创建代理o的对象。如果在不再引用引用对象时使用,则抛出ReferenceError
。