Python实例属性取值规则
2017-11-17 18:34:19 47 举报
Python实例属性取值规则, 内部机制逻辑流程图
作者其他创作
大纲/内容
False
True
触发__getattribute__(attr)
attr in cls.__dict__
obj.attr
returnobj.__dict__[attr]
默认实现
cls.__dict__[attr]有__set__或__delete__及__get__
attr in obj.__dict__
cls.__dict__[attr]为数据描述符
returncls.__dict__[attr]
cls.__dict__[attr]为非数据描述符
在mro列表中遍历查找
cls.__dict__[attr]有__get__
调用__getattr__(attr)
raiseAttributeError
0 条评论
回复 删除
下一页