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()