导语:
本文主要介绍了关于Python对象属性的查找顺序的相关知识,包括python查看对象属性,以及被压扁的沙子说明对象这些编程知识,希望对大家有参考作用。
1、查找顺序
(1)类和父类字典的数据描述器
(2)实例字典
(3)类和父类字典中的非数据描述器
不管类有多少继承层次,类对象的实例字典总是存放着所有的实例变量,这就是super的含义之一。
2、实例
def get_attribute(obj, name):
class_definition = obj.__class__
descriptor = None
for cls in class_definition.mro():
if name in cls.__dict__:
descriptor = cls.__dict__[name]
break
if hasattr(descriptor, '__set__'):
return descriptor, 'data descriptor'
if name in obj.__dict__:
return obj.__dict__[name], 'instance attribute'
if descriptor is not None:
return descriptor, 'non-data descriptor'
else:
raise AttributeError
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何随机生成一堆数字并输出10/21
- ♥ python3类方法和静态方法如何选择?哪个更好?01/13
- ♥ python如何连接oracle09/03
- ♥ python现在流行吗?11/11
- ♥ 如何在ubuntu中卸载python09/18
- ♥ 使用python中的while语句将二进制转换为十进制10/27
内容反馈