我有一个模块fi
定义了以下类:
class Asset(metaclass=abc.ABCMeta):
pass
@abc.abstractmethod
def get_price(self, dt : datetime.date, **kwargs):
''' Nothing here yet
'''
class CashFlows(Asset):
def __init__(self, amounts : pandas.Series, probabilities : pandas.Series = None):
amounts = Asset.to_cash_flows()
然后我还有另一堂课Bond(fi.Asset)
里面有这个方法:
def to_cash_flows(self, notional : float = 100.0) -> fi.asset.CashFlows:
series = pandas.Series(list_of_data, indices_of_data)
return fi.CashFlows(series)
我收到错误TypeError: Can't instantiate abstract class CashFlows with abstract methods get_price
当我打电话时to_cash_flows
。我见过这个答案 https://stackoverflow.com/questions/8086826/cant-instantiate-abstract-class-with-abstract-methods-on-class-that-shouldn,但我无法将其与我当前的问题联系起来。
谢谢
Your CashFlows
类需要定义一个实现get_price
;它是一个抽象方法和具体子类must实施它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)