应用场景:
__init__:改造初始化方法,可以让创建对象更加灵活
__del__:如果希望在对象被摧毁前,再做一些事情,可以考虑一下__del__方法
生命周期:
一个对象从调用类名()创建,生命周期开始
一个对象的__del__方法一旦被调用,生命周期结束
在对象的生命周期内,可以访问对象类型,或者让对象调用方法
__str__方法必须返回一个字符串
案例代码:
class Cat:
def __init__(self,new_name):
print("这是一个初始化方法")
# self.属性名 = 属性的初始值
# self.name="Tom"
self.name = new_name
def __del__(self):
print("%s 走了" % self.name)
def __str__(self):
#必须返回一个字符串
return "我是[%s]" % self.name
def eat(self):
print("%s 爱吃鱼" % self.name)
#使用类名()创建对象的时候,会自动调用初始化方法 __init__
tom=Cat("Tom")
print(tom.name)
print(tom)
# del 关键字可以删除一个对象
del tom
lazy_cat=Cat("大懒猫")
print(lazy_cat)
lazy_cat.eat()
输出结果:
这是一个初始化方法
Tom
我是[Tom]
Tom 走了
这是一个初始化方法
我是[大懒猫]
大懒猫 爱吃鱼
大懒猫 走了