Этот приказ:
>>> G.__mro__
(<class '__main__.G'>, <class __main__.E at 0x028412D0>, <class __main__.D at 0x
02841298>, <class '__main__.F'>, <class __main__.B at 0x02841260>, <class '__mai
n__.C'>, <class __main__.A at 0x02841228>, <type 'object'>)
>>> print ', '.join(klass.__name__ for klass in G.__mro__)
G, E, D, F, B, C, A, object
Если вы хотите знать, как вычисляется, что порядок, есть не очень хороший, короткий ответ. Недостаточный короткий ответ заключается в том, что Python обеспечивает, чтобы подклассы приходили перед суперклассами и классами ранее в списке базовых классов, которые предшествуют классам позже в списке базовых классов. Длительным ответом является 40-page document about C3 linearization on python.org, хотя фактический алгоритм не 40 страниц.
Got it. Спасибо. – Jign