【发布时间】:2016-05-20 19:54:04
【问题描述】:
请向我解释以下内容。如果我执行这个:
class Base1:
def foo(self):
print('in Base1.foo')
b1 = Base1()
b1.foo()
class Base2:
def foo(self):
print('in Base2.foo')
b2 = Base2()
b2.foo()
class Child1(Base1, Base2):
def foo(self):
super(Child1,self).foo()
c1 = Child1()
c1.foo()
class Child2(Base1, Base2):
def foo(self):
super(Base1,self).foo()
c2 = Child2()
c2.foo()
我明白了:
in Base1.foo
in Base2.foo
in Base1.foo
in Base2.foo
我理解输出的前三行。但是为什么我要把第一个基类的名字给super(),才能得到第二个基类的方法呢?
【问题讨论】:
标签: python class oop python-3.x inheritance