我刚刚学习python OOP。在某些框架的源代码中,我遇到return super(...
并想知道两者之间是否存在差异。
class a(object):
def foo(self):
print 'a'
class b(object):
def foo(self):
print 'b'
class A(a):
def foo(self):
super(A, self).foo()
class B(b):
def foo(self):
return super(B, self).foo()
>>> aie = A(); bee = B()
>>> aie.foo(); bee.foo()
a
b
在我看来是一样的。我知道如果你允许,OOP 会变得非常复杂,但是在我学习的这一点上,我没有足够的资金来提出一个更复杂的例子。是否存在返回super
与调用不同的情况super
?