小甲鱼045.魔法方法:属性访问

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__,类有数值一般要初始化赋值方便使用。

你可能感兴趣的:(小甲鱼045.魔法方法:属性访问)