2017-02-01 11 views
2

Питоны type.mro() документирован в section 4.13. Special Attributes, который вводится с:Являются ли `.__ mro__` и` .mro() `подробности реализации CPython?

Реализация добавляет несколько специального только для чтения атрибутов несколько типов объектов, к которым они относятся. Некоторые из них не сообщаются встроенной функцией dir().

Означает ли это, что это детали реализации CPython, которые могут отсутствовать в других реализациях Python?

ответ

2

Нет, это часть объектной модели python. Вы можете полагаться на то, что они присутствуют в других реализациях python, которые соответствуют эталонной реализации. Обратите внимание, что на странице указано, что class.mro можно переопределить, чтобы настроить класс __mro__.

Также обратите внимание, что inspect.getmro доступен для всех реализаций питона, а атрибут __mro__ также указан на data model page.

+0

Хорошо, тогда документация немного запутанная/вводящая в заблуждение возможно :) – gerrit