python类继承中重写和扩写
1.子类的重写父类
子类有init方法直接调用子类的init方法就不再执行父类init方法,子类没有init方法调用父类的init方法。此类原则同样适用其他方法。(一般编辑器会提示,缺少对基类的调用)
2.子类扩写父类方法
在子类init方法里面通过 A.__init__(self, a=a, b=b) 调用重写父类,执行顺序下面已标出(先执行子类init然后在执行父类init)
class A:
def __init__(self, a, b):
print(a, b) #4
class B(A):
def __init__(self, a, b, c): #最开始执行1
print(0) # 2
A.__init__(self, a=a, b=b) # 然后执行 3
print(c) # 5
b = B(1,2,3)
输出
0
1 2
3