python-super函数
单继承
在单继承中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) #调用父类方法 #A.add(self,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