首页 > 试题广场 >

在 Python 中,属性查找遵循特定的优先级顺序。考虑以下

[单选题]
在 Python 中,属性查找遵循特定的优先级顺序。考虑以下代码,执行 `print(m.data)` 的输出是什么?
class NonDataDescriptor:
    def __get__(self, instance, owner):
        return "descriptor value"
class MyClass:
    data = NonDataDescriptor()
    def __init__(self):
        self.data = "instance value"
m = MyClass()
  • descriptor value
  • instance value
  • 抛出 AttributeError
  • 抛出 TypeError
此题考查python属性查找机制,查找优先顺序:数据描述符(含有_get_,_set_/_delete_方法的描述符)>实例属性(”self.属性名=值 “以创建实例属性)>非数据描述符(只含有_get_方法的描述符)>类属性>父类。
发表于 2025-09-22 15:57:51 回复(0)