析构方法:当对象在内存中被释放时,自动触发执行
此方法一般无需定义,因为python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给python解释器执行,所以,析构函数的调用是解释器在进行垃圾回收时自动触发执行的。
1 class Foo: 2 def __init__(self,name): 3 self.name = name 4 def __del__(self): 5 print('我执行了') 6 7 8 f1 = Foo('alex') 9 del f1 10 输出 11 我执行了
1 class Foo: 2 def __init__(self,name): 3 self.name = name 4 def __del__(self): 5 print('我执行了') 6 7 8 f1 = Foo('alex') 9 # del f1 10 print('_________________') 11 输出: 12 _________________ 13 我执行了
注意:文件执行完毕也会执行__del__ 删除属性时不会触发