Содержит кортеж с родительскими типами, выстроенными в порядке разрешения методов.
Свойство доступно только для чтения.

Порядок разрешения методов (Method Resolution Order — MRO), рассчитанный при помощи алгоритма C3 представляет собой линеаризацию (построение линейного вида) иерархии классов. Алгоритм позволяет разрешить возможные конфликтные ситуации при множественном наследовании (конфликт методов, проблема ромба).

Два (из трех — C3) основных правила линеаризации:
1. дети идут раньше родителей;
2. родители идут в порядке перечисления.

    list.__mro__  # (list, object)
class A(object): pass
class B(A): pass
class C(A): pass
class BC(B, C): pass
BC.__mro__
# (__main__.BC, __main__.B, __main__.C, __main__.A, object)

На заметку
На уровне CPython свойство соответствует слоту tp_mro объекта PyTypeObject.

На заметку
Подробнее о линеаризации можно узнать из видео Super — это супер!.

Чтобы получить линеаризованную иерархию в виде списка можно воспользоваться методом mro().
Синонимы поиска: type.__mro__, type, __mro__
На заметку
У нас есть представительство в Facebook. Ссылка в самом низу страницы.