我有一个关于python super()的问题。python超级执行父级方法
这里是我的代码
class A(object):
def test(self):
t = [self.__class__.__name__]
return t
class B(A):
def test(self):
t = super(B, self).test()
t.append(self.__class__.__name__)
return t
B().test()
结果是[B,B]
,但我想[A,B]
可能获得[A,B] ?
谢谢大家!
哇...很好的答案。顺便说一句,为什么我不能通过'print dir(B)'看到'__mro__'属性,但是'print B .__ mro__'确实提供了你提到的信息。 – WKPlus
@WKPlus,[**内置类型 - 特殊属性**](http://docs.python.org/2/library/stdtypes.html?highlight=__mro__#class.__mro__)明确指出:实现将几个特殊的只读属性添加到几个相关的对象类型中。其中一些不是由'dir()'内置函数报告的。 – falsetru