江湖散人 发表于 2021-6-3 16:11:20

关于del的问题

import weakref


def 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()函数,这是什么原因啊?

Twilight6 发表于 2021-6-3 18:44:46


Python 程序运行结束后,会自动回收对象,即销毁对象,也会导致类似 del 的调用效果

页: [1]
查看完整版本: 关于del的问题