super()
1 作用:调用第一个父类的构造方法
2 父类中所有的方法都会被子类继承,包括特殊方法,也可以重写特殊方法
3 Python 要求,如果子类重写了父类的构造方法,那么子类的构造方法必须调用父类的构造方法。
4 当子类继承多个父类是,super() 函数只能用来调用第一个父类的构造方法,而其它父类的构造方法只能使用未绑定的方式调用
下面举例说明一下
class Game1():
def __init__(self,name,age):
self.name = name
self.age = age
def function(self):
print('%d岁的%s可以看家'%(self.age,self.name))
class Game2():
def __init__(self,beijin):
self.beijin = beijin
def chiji(self):
print('我喜欢玩%d倍镜'%self.beijin)
class Game3(Game1,Game2):
def __init__(self,name,age,beijin):
super().__init__(name,age) # super() 函数只能用来调用第一个父类的构造方法,即Game1的
Game2.__init__(self,beijin) #使用未绑定的方式调用 Game2的构造方法
# self._yinxiong = yinxiong
pass
a = Game3('二哈',2,8)
a.function()
a.chiji()
运行结果
2岁的二哈可以看家
我喜欢玩8倍镜