我有一个家长班,定义为:
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。
发布于 2015-08-14 18:49:50
您在这里调用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)https://stackoverflow.com/questions/32016822
复制相似问题