Python【__del__】极简示例

原理

对象被回收前触发的事件

代码测试

创建对象

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相同

猜你喜欢

转载自blog.csdn.net/Yellow_python/article/details/83049832
今日推荐