Ich erhalte diesen Fehler:
TypeError: object.__init__() takes no parameters
Wenn ich meinen Code ausführe, sehe ich hier allerdings nicht wirklich, was ich falsch mache:
class IRCReplyModule(object):
activated=True
moduleHandlerResultList=None
moduleHandlerCommandlist=None
modulename=""
def __init__(self,modulename):
self.modulename = modulename
class SimpleHelloWorld(IRCReplyModule):
def __init__(self):
super(IRCReplyModule,self).__init__('hello world')
python
inheritance
Lucas Kauffman
quelle
quelle
Dies hat mich in letzter Zeit zweimal gebissen (ich weiß, ich hätte beim ersten Mal aus meinem Fehler lernen sollen) und die akzeptierte Antwort hat mir auch nicht geholfen. Während es in meinem Kopf frisch ist, dachte ich, ich würde meine eigene Antwort für alle Fälle einreichen jemand anderes stößt darauf (oder ich brauche das in Zukunft wieder).
In meinem Fall bestand das Problem darin, dass ich ein kwarg an die Initialisierung der Unterklasse übergeben habe, aber in der Oberklasse wurde dieses Schlüsselwort arg dann an den Aufruf von super () übergeben.
Ich denke immer, dass diese Art von Dingen am besten mit einem Beispiel ist:
Um dies zu beheben, muss ich nur die Reihenfolge ändern, in der ich Dinge in der Foo .__ init__ -Methode mache. z.B:
quelle