super()的使用?
用于调用父类的方法
继承的语法
__getattr__(self,name)
定义当用户试图获得一个不存在的属性时的行为
__getattribute__(self,name)
定义当该类属性被访问时的行为
__setattr__(self,name)
定义当一个属性被设置时的行为
__delattr__(self,name)
定义当一个属性被删除时的行为
(继续写后面的内容+上机练习)
使用属性魔法方法注意死循环陷阱
解决方法1.换种写法,调用基类的setattr魔法方法
(super()._setattr_(name,value)
2.self.__dict__[name]=value
利用字典形式赋值,就不会触发魔法方法
__dict__是什么?(双下横线)
读取类对象的属性
__init__()的使用?初始化?
用于初始化类对象,一般用于初始化赋值,调用优先顺序为__new__,__init__,_call__,类有数值一般要初始化赋值方便使用。
网友评论