【问题标题】:Are `.__mro__` and `.mro()` a CPython implementation details?`.__mro__` 和 `.mro()` 是 CPython 实现细节吗?
【发布时间】:2017-02-01 19:56:46
【问题描述】:

Pythons type.mro() 记录在 section 4.13. Special Attributes 中,其中介绍了:

该实现为几种相关的对象类型添加了一些特殊的只读属性。其中一些不是由 dir() 内置函数报告的。

这是否意味着这些是其他 Python 实现中可能不存在的 CPython 实现细节?

【问题讨论】:

    标签: python cpython method-resolution-order


    【解决方案1】:

    不,这些是 python 对象模型的一部分。您可以依赖它们存在于符合参考实现的其他 python 实现中。请注意,该页面明确表示可以覆盖 class.mro 以自定义类的 __mro__

    另请注意,inspect.getmro 可用于所有 python 实现,__mro__ 属性也在data model page 中提及。

    【讨论】:

    • 好的,那么文档可能有点令人困惑/误导:)
    猜你喜欢
    • 2016-02-24
    • 2013-11-11
    • 1970-01-01
    • 2023-03-17
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    相关资源
    最近更新 更多