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

Порядок разрешения методов (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__
На заметку
Зарегистрированные пользователи могут получать еженедельный дайджест обновлений на сайте.