Множественное наследование в python "object.__init__() не принимает параметров
Я работаю с наследованием, здесь я получил выходные данные для одиночного наследования, но множественное наследование показывает ошибку. поэтому, пожалуйста, помогите мне. У меня нет никаких знаний о mro в python. Пожалуйста, дайте мне хороший совет.
class Player:
def __init__(self,name,country):
self.name=name
self.country=country
def info(self):
return self.name+":"+self.country
class Ipl(Player):
def __init__(self,name,country,team):
Player.__init__(self,name,country)
self.team=team
def info_ipl(self):
return self.info()+"\nIpl team:"+self.team
x=Ipl("Suresh Raina","India","csk")
print(x.info_ipl())
class Carrier:
def ___init__(self,wicket,run):
self.wicket=wicket
self.run=run
def disp(self):
return "Wickets:"+self.wicket+"Runs:"+self.run
class Aauction(Ipl, Carrier):
def __init__(self,wicket,run,name,country,team):
Ipl.__init__(self,name,country,team)
Carrier.__init__(self,wicket,run)
self.Innings=Innings
def stati(self):
return self.info_ipl()+","+self.disp()+"Total Innings:"
x = Aauction(150,2000,"Suresh_Raina","India","kkr")
print(x.stati())
Выше код дает следующую ошибку:-
Suresh Raina:India
Ipl team:csk
Traceback (most recent call last):
File "C:\Users\Rahul\Desktop\PYTHON\EXP8.py", line 49, in <module>
x = Aauction(150,2000,"Suresh_Raina","India","kkr")
File "C:\Users\Rahul\Desktop\PYTHON\EXP8.py", line 40, in __init__
Carrier.__init__(self,wicket,run)
TypeError: object.__init__() takes no parameters
Спасибо.
1 ответ
Решение
Я думаю, что проблема в том, что ваш __init__
имеет три подчеркивания вместо двух:
class Carrier:
def ___init__(self,wicket,run):
self.wicket=wicket
self.run=run
def disp(self):
return "Wickets:"+self.wicket+"Runs:"+self.run
должно быть:
class Carrier:
def __init__(self,wicket,run):
self.wicket=wicket
self.run=run
def disp(self):
return "Wickets:"+self.wicket+"Runs:"+self.run