创建SubClass时的类型错误

2024-03-28 15:10:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的家长课程定义如下:

class Alpha(X, Y, metaclass=abc.ABCMeta):

    def __init__(self, time_series : pandas.Series):
        super(Alpha, self).__init__()

我有它的子类:

class Beta(Alpha):
    def __init__(self, returns: [daily_returns_object]):
        super(Beta, self).__init__()
        self.calibrate(returns)

我尝试根据以下内容创建Beta对象:

#returns_list has been defined but is irrelevant here
beta_obj = Beta(returns_list)

我得到错误TypeError:__init__() missing one positional argument: 'time_series'。因此,我写了beta_obj = Beta(time_series, returns_list),但是得到了错误TypeError:__init__() takes 2 positional arguments but 3 were given。你知道吗


Tags: selfalphaobjtimeinitdef错误list
1条回答
网友
1楼 · 发布于 2024-03-28 15:10:26

您在这里调用Alpha.__init__方法:

super(Beta, self).__init__()

但是您没有在那里传递所需的time_series参数。你知道吗

如果这也是Beta采用的参数,则需要将其添加到Beta.__init__定义中,然后传递:

class Beta(Alpha):
    def __init__(self, time_series: pandas.Series, returns: [daily_returns_object]):
        super(Beta, self).__init__(time_series)
        self.calibrate(returns)

相关问题 更多 >