原理
对象被回收前触发的事件
代码测试
创建对象
from time import sleep
class A:
def __init__(self, name):
self.name = name
print('init', self.name)
def __del__(self):
print('del', self.name)
测试1
a = A('ArYe')
sleep(1)
- 结果
-
初始化对象并赋值,打印
init ArYe
1秒后,程序结束前回收对象a
,打印del ArYe
测试2
A('ArYe')
sleep(1)
- 结果
-
对象初始化后没有赋值,立即被回收,
del ArYe
立即被打印
测试3
a = A('ArYe')
del a
sleep(1)
结果和测试2相同