【发布时间】:2016-03-25 08:22:00
【问题描述】:
在 Python 中的大多数类型/类上,我可以不带参数地调用 .mro()。但不适用于type 及其后代:
In [32]: type(4).mro()
Out[32]: [int, object]
In [33]: type(type(4)).mro()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-33-48a6f7fcd2fe> in <module>()
----> 1 type(type(4)).mro()
TypeError: descriptor 'mro' of 'type' object needs an argument
看来我可以通过type(type(4)).mro(type(4)) 得到我想要的,但为什么我不能像在其他地方一样直接调用mro()?
【问题讨论】:
标签: python metaclass method-resolution-order