Python中类的初始化方法是__init__(),因此父类、子类的初始化方法都是这个,如果子类不实现__init__()这个函数,初始化时调用父类的初始化函数,
如果子类实现了这个函数,则要在这个函数里显式调用一下父类的__init__(),这跟C++,jAVA不一样,他们是自动调用父类构造函数的。
#初始化中调用父类初始化方法示例 #B是A的子类 class B(A): def __init__(self): super().__init__()
调用父类其他成员函数的三种方法:
1. 直接写类名调用;2. 用 super(type, obj).method(arg)方法调用;
3. 在子类的定义内,如果调用父类的成员,可以直接用 super().method(arg)。
class A: def method(self, arg): return class B(A): def method(self, arg): # A.method(self,arg) #1 # super(B, self).method(arg) #2 # super().method(arg) #3
[注意] 如果在子类定义外(即在其他函数逻辑内,子类对象去调用父类成员时),则按照:
... ob = B() super(B,ob).method(arg) #调用class B的父类class A的method。 ...