1、子类调用父类init构造函数的两种方法:
1)无参构造函数调用
class A(): def __init__(self): print("父类的构造函数") class B(A): def __init__(self): #如果父类有构造函数,子类必须写构造函数,否则会报错 A.__init__(self) #方法一,注意这里有self参数 print("子类的构造函数") #super(B,self).__init__() #方法二,这里没有self参数 b=B() #父类的构造函数 子类的构造函数
2)父类有参构造函数调用
class Person: total_person=0 #类变量,所有的实例共享这个变量 def __init__(self,name,sex,province): print("I am init function") self.name=name #实例变量,每个实例都有但值不一样 self.sex=sex self.province=province Person.total_person+=1 class Student(Person): def __init__(self,name,sex,province): #这里要把父类的init中的参数写进来 Person.__init__(self,name,sex,province) #方法一:有self参数 #super(Student,self).__init__(name,sex,province) #方法二:无self参数
3)如果在子类中不调用父类构造函数
2、
来源:51CTO
作者:weixin_39430584
链接:https://blog.csdn.net/weixin_39430584/article/details/101210963