自定义内置方法来定制类的功能
1、__str__方法
在对象被打印时,自动触发,应该在该方法内采集与对象self有关的信息,然后拼成字符串返回
class People:
def __init__(self,name,age):
self.name=name
self.age=age
def __str__(self):
print('======>')
return '<name:%s age:%s>' %(self.name,self.age)
obj=People('egon',18)
obj1=People('alex',18)
print(obj) # obj.__str__() # <name:egon age:18>
print(obj.__str__()) # <name:egon age:18>
# print(obj.act()) # <name:egon age:18> __str__ 改成act也可以,比较麻烦,不能直接打印对象就触发
print(obj1) # obj1.__str__() # <name:alex age:18>
d = {'x': 1} # d=dict({'x':1})
print(d) # dict 里有个__str__方法
2. __del__析构方法
__del__会在对象被删除之前自动触发
class People:
def __init__(self,name,age):
self.name=name
self.age=age
self.f=open('a.txt','rt',encoding='utf-8')
def __del__(self):
# print('run=-====>')
# 做回收系统资源相关的事情
self.f.close()
obj=People('egon',18)
print('主')
越是困难的事越要立即去做,这样收益才会最大!!!
浙公网安备 33010602011771号