weakref 待解决.

时间:2023-03-09 09:13:24
weakref 待解决.

暂时不知为何在控制台多执行一次b()后,del a就不会立即销毁Foo实例.

>>> class Foo(object):
def __init__(self):
self.obj = None
print ('created') def __del__(self):
print ('destroyed') def show(self):
print (self.obj) def store(self, obj):
self.obj = obj >>> import weakref
>>> a = Foo()
created
>>> b = weakref.ref(a)>>> del a
destroyed >>> a = Foo()
created
>>> b = weakref.ref(a)
>>> b()
<__main__.Foo object at 0x0000000002B025F8>
>>> del a