抽象类方法未在python中继承

时间:2019-12-25 12:56:47

标签: python inheritance

这是一个非常简单的问题,但是我似乎无法弄清楚为什么我的“对象”是Nonetype。我正在遵循(至少我认为是)我对此已经读过的数十个堆栈溢出帖子以及此处找到的示例的基本逻辑。

https://www.python-course.eu/python3_abstract_classes.php

这是我的错误,然后是我的代码。

AttributeError: 'NoneType' object has no attribute 'calc_payoff'



class PayoffInterface(ABC):
    # the abstract class is defined by its strike price only
    # the specific subclass will tell us how to relate the strike and spot
    # based on the type of option that we are trading
    def __init__(self, strike):
        self.strike = strike
        super().__init__()

    @abstractmethod
    def calc_payoff(self,spot):
        pass


def PayoffCallEuro(PayoffInterface):
#    def __init__(self, strike):
#        self.strike = strike        
    def calc_payoff(self, spot):
        return np.max([spot - self.strike,0])


test = PayoffCallEuro(10)
test.calc_payoff(23)

我在这里缺少一些基本概念吗?谢谢你的帮助。另外,如果相关,我正在使用Anaconda 3.6.7。

0 个答案:

没有答案