析构方法:当对象在内存中被释放时,自动触发执行。
ps:此方法一般无须定义,因为python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因此此工作都是交给python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。
class Foo:
def __init__(self, name):
self.name = name
def __del__(self): # 析构函数
print("执行")
f1 = Foo("tianxia")
del f1.name # 删除实例的属性,不会触发该Foo的__del__方法
print("=============")
del f1 # 触发__del__方法
print("=============")