>
>
>
class M(type): ... a = 'M.a' ... x = 'M.x' ... >
>
>
class B(object): a = 'B.a' ... >
>
>
class C(B): __metaclass__=M ... >
>
>
c=C()
Графически:
2. Комбинированные базовый класс и метакласс
Согласно предшествующему объяснению, мы могли бы представить, что C.a разрешился бы либо в M.a, либо в B.a. Оказывается, поиск по классу следует его порядку разрешения метода до того, как он осуществляется в его метаклассе: