del:对象被从内存中销毁前,会被自动调用
在python中
当使用类名()创建对象时,为对象分配完空间后,自动调用__init__方法
当一个对象被从内存中销毁前(把这个对象从内存中删除掉),
会自动调用__del__方法
应用场景
__init__改造初始化方法,可以让创建对象更加灵活
__del__如果希望在对象被销毁前,再做一些事情,可以考虑一下__del__方法
生命周期(出生到死亡)
一个对象从调用类名()创建,生命周期开始
一个对象的__del__方法一但被调用,生命周期结束
在对象的生命周期内,可以访问对象属性,或者让对象调用方法
class Cat:
def __init__(self,new_name):
self.name = new_name
print('%s 来了' %(self.name))
def __del__(self):
print('%s 走了' %(self.name))
cat = Cat('tom')
print(cat.name)
输出:
tom 来了
tom
tom 走了 #对象被从内存中销毁前,会被自动调用
如果给代码加上print(’*’*50) __del__方法依旧在程序运行结束运行。
class Cat:
def __init__(self,new_name):
self.name = new_name
print('%s 来了' %(self.name))
def __del__(