反射:
.hasatrr()
.getatrr()
.setattr()
.delatrr()
class Teacher:
school='oldboy'
def __init__(self,name):
self.name=name
print(hasatrr(Teacher,'school)#True
print(getatrr(Teacher,'school')#True
print(getatrr(Teacher,'iekd',None)#None
setattr(Teacher,'name','oldboy')#Teacher.name='oldboy'
delatrr(Teacher,'school')
#以上方法中类可以换为对象
t=Teacher('egon')
#相同的方法略,注意在此例中下面一句将会出错:
delatrr(t,'school')
t对象可以通过hasatrr和getatrr访问到类的属性,本身并不具有'school'属性,所以不能delattr
__str__
定制print(obj)时的返回值
__del__
删除对象实例时自动触发调用的代码段,通常用来做与对象有关的清理操作
__getitem__
__setitem__
__delitem__