Wie kommt es, dass eine Metaklasse nicht im MRO angezeigt wird?Reihenfolge der Methodenauflösung und Metaklassen
Zum Beispiel:
>>> class Foo(type):
... foo = 21
...
>>> class Bar(metaclass=Foo):
... pass
...
>>> Bar.mro()
[<class '__main__.Bar'>, <class 'object'>]
>>> Bar.foo
21
Auch sah ich an anderer Stelle, dass Python C3 Linearisierung verwendet die MRO zu berechnen, aber das Linearisierungs nicht behandelt metaclasses. Welchen Algorithmus benutzt Python dann?
Haben Sie versucht, es auf einer Instanz von Bar aufzurufen? Weil es dann nicht funktioniert. Und AFAIK-Metaklassen und Mehrfachvererbung werden nicht unterstützt. Ich weiß jedoch nicht, wie ich zu Foo kommen soll. – deets