获取对象类型使用哪个语句(Python对象属性的查找顺序)
导读:1、查找顺序...
1 、查找顺序
(1)类和父类字典的数据描述器
(2)实例字典
(3)类和父类字典中的非数据描述器
无论类有多少个继承级别 ,该类对象的实例字典总是存储了所有的实例变量 ,这也是 super 的意义之一 。
2 、实例
defget_attribute(obj,name): class_definition=obj.__class__ descriptor=None forclsinclass_definition.mro(): ifnameincls.__dict__: descriptor=cls.__dict__[name] break ifhasattr(descriptor,__set__): returndescriptor,datadescriptor ifnameinobj.__dict__: returnobj.__dict__[name],instanceattribute ifdescriptorisnotNone: returndescriptor,non-datadescriptor else: raiseAttributeError以上就是Python对象属性的查找顺序 ,希望对大家有所帮助 。更多Python学习推荐:python教学
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!