爲什麼元類沒有出現在MRO中?方法解析順序和元類
例如:
>>> class Foo(type):
... foo = 21
...
>>> class Bar(metaclass=Foo):
... pass
...
>>> Bar.mro()
[<class '__main__.Bar'>, <class 'object'>]
>>> Bar.foo
21
另外,我看到其他地方Python用C3線性計算MRO,但這種線性不處理元類。那麼Python在那種情況下使用什麼算法?
你有沒有試過在Bar的實例上調用它?因爲那不起作用。並且不支持AFAIK元類和多繼承。然而,我現在對如何到達Foo感到不知所措。 – deets