單繼承
在單繼承中super主要是用來呼叫父類的方法的
class A: def __init__(self): self.n = 2 def add(self, m): print('self is {0} @A.add'.format(self)) self.n += m class B(A): def __init__(self): self.n = 3 def add(self, m): print('self is {0} @B.add'.format(self)) super().add(m) #呼叫父類方法 self.n += 3 b = B() b.add(2) print(b.n)
super().add(m) 呼叫父類方法 def add(self, m) 時, 此時父類中 self 並不是父類的例項而是子類的例項, 所以 b.add(2) 之後的結果是 5 而不是 4