python繼承關係之super函式
阿新 • • 發佈:2019-01-30
super_example.py
test.py:class A: def __init__(self): print("Enter A") print("Leave A") class B(A): def __init__(self): print("Enter B") super(B,self).__init__() print("Leave B") class C(A): def __init__(self): print("Enter C") super(C,self).__init__() print("Leave C") class D(A): def __init__(self): print("Enter D") super(D,self).__init__() print("Leave D") class E(B,C,D): def __init__(self): print("Enter E") super(E,self).__init__() print("Leave E")
from super_example import *
info = E()
然後終端輸入 python3 test.py即可
結果:
Enter E
Enter B
Enter C
Enter D
Enter A
Leave A
Leave D
Leave C
Leave B
Leave E
總結:
super的特點類似於BFS,繼承的上一層遍歷完後,再向上一層繼承關係遍歷,全部遍歷完後,遞迴返回
,所以出現了上述輸出結果,可以看到前後是對稱的,與遞迴呼叫的特點極其類似.