96

次のエラーが表示されます。

TypeError: object.__init__() takes no parameters 

コードを実行すると、ここで何が間違っているのかわかりません。

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')
4

2 に答える 2

122

super() 呼び出しで間違ったクラス名を呼び出しています:

class SimpleHelloWorld(IRCReplyModule):

     def __init__(self):
            #super(IRCReplyModule,self).__init__('hello world')
            super(SimpleHelloWorld,self).__init__('hello world')

基本的に、あなたが解決しようとしているのは__init__、パラメータを取らないオブジェクト基本クラスです。

すでに内部にいるクラスを指定する必要があるのは少し冗長です。そのため、python3 では次のことができます。 super().__init__()

于 2012-06-24T16:15:40.183 に答える