编辑:这是一个愚蠢的错误,查看答案,但我的 init 方法没有定义 self
变量。
我有几个 python 类,它们是管道中的各个阶段。它们继承自基类。
class StageBase(object):
key = Segments.NONE
_preprocessors = []
def __init__():
self.closing = False
self.working = False
self._que = None
self._working_lock = None
self._que_lock = None
#whole bunch of other methods
继承类覆盖key
和_preprocessors
。在添加显式 __init__()
方法之前,一切正常,现在我收到以下错误:
TypeError: __init__() 没有参数(给定 1 个)
错误所在的行是我重写_preprocessors
的行(在这个例子中,这个类变量表示应该在这个阶段之前执行的其他阶段)。
抛出此错误的示例类:
class StaticPageStage(StageBase):
key = Segments.STATICPAGE
_preprocessors = [FacebookGraphStage(), ]
def __init__():
pass
def process(self, data):
data = self._preprocess(data)
return self.handle_results(tuple(x for x in data))
谁能告诉我如何解决这个问题?
最佳答案
您需要将默认的self
参数添加到__init__
:
def __init__(self):
关于Python 继承,类级变量,__init__ 不带参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5569555/