关于del的问题
import weakrefdef bye():
print('Gone with the wind...')
s1 = {1, 2, 3}
s2 = s1
ender = weakref.finalize(s1, bye)
print(ender.alive)
del s1
print(ender.alive)
s2 = 'span'
print(ender.alive)
运行结果如下:
True
True
Gone with the wind...
False
这个bye()函数不是不是应该在销毁对象的时候条用吗?
即使我把后边的del语句都隐去,结果还是调用了bye()函数,这是什么原因啊?
Python 程序运行结束后,会自动回收对象,即销毁对象,也会导致类似 del 的调用效果
页:
[1]