1. ホーム
  2. python

[解決済み] Python の継承です。TypeError: object.__init__() takes no parameters

2023-01-30 21:10:16

質問

このエラーが発生します。

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

どのように解決するのですか?

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

class SimpleHelloWorld(IRCReplyModule):

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

本質的に解決しているのは __init__ であり、パラメータを受け取りません。

すでに内部にあるクラスを指定しなければならないのは、少し冗長だと思います。 super().__init__()