Наследование Python: TypeError: object. метод init () не принимает никаких параметров


Я получаю эту ошибку:

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

1 ответ:

вы называете неправильное имя класса в своем вызове super ():

class SimpleHelloWorld(IRCReplyModule):

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

по существу, то, что вы решаете, это __init__ базового класса объекта, который не принимает параметров.

Это немного избыточно, я знаю, чтобы указать класс, в котором вы уже находитесь, поэтому в python3 вы можете просто сделать:super().__init__()