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、