子类在调用某个方法或变量的时候,首先在自己内部查找,如果没有找到,则开始根据继承机制在父类里查找。 根据父类定义中的顺序,以深度优先的方式逐一查找父类!
1 class D:
2 def show(self):
3 print("i am D")
4 pass
5
6 class C(D):
7 pass
8
9 class B(C):
10
11 pass
12
13 class G:
14 pass
15
16 class F(G):
17 pass
18
19 class E(F):
20 def show(self):
21 print("i am E")
22 pass
23
24 class A(B, E):
25 pass
26
27 a = A()
28 a.show()
执行结果是"i am D",左边具有深度优先权,当一条路走到黑也没找到的时候,才换另一条路。可见,在这种继承结构关系中,搜索顺序是这样的:
查看更多关于<python基础>python继承机制的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did170928