1.__del__方法:
作用:
当使用类名()创建对象时,为对象分配完空间后,会自动调用__init__方法,当对象被从内存中销毁前,__del__方法会被自动调用
应用场景:
__init__方法可以重新设置初始化方法,可以让创建的对象更加灵活,方法内部使用self.属性=形参
__del__方法可以在对象被销毁前,在做一些事情
class Pig:
def __init__(self, name):
self.name = name
print('%s来了' % self.name)
def __del__(self):
print('%s 走了' % self.name)
pigi = Pig('pigi')
print(pigi.name)
#删除对象
del pigi
打印结果:
pigi来了
pigi
pigi 走了
2.__str__方法
在python中,使用print输出对象变量,默认情况下,会输出这个变量引用的对象即类对象(由类创建的对象),及其在内存中的地址(十六进制),print(Pig())如<__main__.Pig object at 0x00000218672E5D68>,print(Pig)<class '__main__.Pig'>
如果在实际工作中,想用print输出时,可以自定义打印内容,则可以利用__str__这个内置方法
class Pig: def __init__(self, new_name): self.name = new_name print('%s来了' % self.name) def __del__(self): print('%s 走了' % self.name) def __str__(self): return '我是小猪猪 %s' % self.name pigi = Pig('pigi') print(pigi) 打印结果: ================== pigi来了 我是小猪猪 pigi
3.对象的生命周期
一个对象从调用类名()创建,--生命周期开始
一个对象的__del__方法一旦被调用,--生命周期结束
在对象的生命周期内,可以访问对象的属性或让属性调用方法