Method Resolution Order



В Python существует так называемый порядок разрешения методов в классе. Это порядок, где Python ищет нужный атрибут или метод.



Его можно получить при помощи атрибута __mro__. Если мы в примере обратимся к val, Python будет искать сначала в классе A, далее в B, затем в C и потом в object.



Атрибут быстрее всех будет найден именно в классе B и будет равен значению 1.