我有这样的代码片段:
class A:
def test(self):
return 'A'
class B(A):
def test(self):
return 'B->' + super(B, self).test()
print(B().test())
输出:B->A
如果我写类似这样的内容,那么我会得到相同的输出:
class A:
def test(self):
return 'A'
class B(A):
def test(self):
return 'B->' + super().test() # change to super()
print(B().test())
在这两种情况下,我得到的输出结果是相同的。那么,我想知道调用super
的这两种方式有何不同?使用其中任何一种的优缺点是什么?
super(B, self)
会晚一点查找B
。 - Martijn Pieterssuper
需要显式类和self参数? - Martijn Pieters