Python 继承,类级变量,__init__ 不带参数

标签 python pipelining

编辑:这是一个愚蠢的错误,查看答案,但我的 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/

相关文章:

python - 每个 Cog 的前缀不同?

python - PyTorch 中的 LSTM 分类名称

architecture - 什么是流水线?它如何提高执行速度?

c - TI C64x+ 上的简单嵌套循环不是流水线

transactions - Redis中的流水线与事务

c++ - 交换变量(C++,处理器级别)

python 设置类型未排序

python - Python 方法的 OpenCV C++ 模拟

python - 从 csv 文件中查找分数

c++ - Cap'n Proto 和 promise 流水线