python中的多重继承"object.__init__()不带参数



我正在与继承,我在这里获得了单个继承的输出,但多个继承显示错误。所以请帮助我。我对Python中的Mro不了解。请给我好的建议。

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:UsersRahulDesktopPYTHONEXP8.py", line 49, in <module>
    x = Aauction(150,2000,"Suresh_Raina","India","kkr")
  File "C:UsersRahulDesktopPYTHONEXP8.py", line 40, in __init__
    Carrier.__init__(self,wicket,run)
TypeError: object.__init__() takes no parameters

谢谢。

我认为问题是您的__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

最新更新