如何正确装饰要在python中重写的函数?

时间:2013-11-12 14:37:54

标签: python design-patterns python-decorators

我想指定一些用于覆盖的基类函数。 (不应强制执行覆盖。)这样做的正确方法是什么?

我的意思是......好像

class Base(object):
    ...
    @abstractmethod
    def fun(self):
        pass

class Derived(Base):

    @override
    def fun(self):
        pass

编辑:

如果函数没有被覆盖,我希望我的代码引发UnimplementedException。

1 个答案:

答案 0 :(得分:4)

class Base(object):
    ...
    def fun(self):
        raise NotImplementedError

来源:http://julien.danjou.info/blog/2013/guide-python-static-class-abstract-methods