1 # @Time :2019/6/22 18:43 2 # -*- encoding:utf-8 -*- 3 ''' 4 class Base(object): 5 def f1(self): 6 print("Base") 7 super().f1() 8 class Bar(): 9 def f1(self): 10 print("Bar") 11 12 class Foo(Base, Bar): 13 def f2(self): 14 print("Foo") 15 super().f1() 16 17 foo = Foo() 18 foo.f2() 19 ''' 20 # super方法,按照当前类的继承顺序,Foo -> Base -> Bar 找下一个,即: 21 # 第一个super方法现在在Foo类中,按照当前类的继承顺序Foo -> Base -> Bar 找下一个 22 #就是到Base类中找f1方法, 23 #同理:第二个super方法是在Base类中,会去Bar类找f1方法 24 25 #例题: 26 class Base(object): 27 def f1(self): 28 print("Base") 29 30 31 class Bar(Base): 32 def f1(self): 33 super().f1() #按照当前类的继承顺序找下一个,执行print("Base")后,继续往下面执行(参考Debug,更容易理解执行顺序) 34 print("Bar") 35 36 obj = Bar() 37 obj.f1()