3
    B1类(对象):
        定义 f(自我):
            打印“B1.f”

    B2类(对象):
        定义 f(自我):
            打印“B2.f”

    D级(B1,B2):
        经过

    d = D()
    超级(B1,d).f()
    打印 B1.__mro__

为什么上面的代码打印:

B2.f
(<class '__main__.B1'>, <type 'object'>)

而文档http://docs.python.org/2/library/functions.html#super说:

超级(类型[,对象或类型]):
... 该类型的 __mro__ 属性列出了 ... super() 使用的方法解析搜索顺序。

似乎使用的 MRO 不是 super() 的“类型”参数之一,而是“对象或类型”参数之一。这是 Python 文档中的错误吗?

4

0 回答 0