原理
对象被回收前触发的事件
代码测试
创建对象
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相同
本文深入探讨了Python中对象的生命周期,包括对象创建、使用及回收过程。通过具体代码示例,演示了对象从初始化到销毁的全过程,以及__init__和__del__方法的作用。
104

被折叠的 条评论
为什么被折叠?



