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

标签 python design-patterns python-decorators

我想指定我的一些基类函数进行覆盖。 (不必强制执行覆盖。)执行此操作的正确方法是什么?

我是说某事像

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

class Derived(Base):

    @override
    def fun(self):
        pass

编辑:

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

最佳答案

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

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

关于python - 如何正确装饰要在 python 中重写的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19932079/

相关文章:

python - 我应该在 Windows 7 中使用 Python 2.7 32 位还是 64 位

c++ - 对象依赖性以及其中之一不再存在时的处理情况

.net - 对 DoFactory 框架的看法?

design-patterns - 对象 C++ 中的状态或观察者模式

python-3.x - Python - 为包装函数赋予与包装函数相同的名称

python - 缺少 key 的 Pandas groupby

python - 如何分发适用于 Mac OS 的应用程序,以便双击即可运行该应用程序?

python - RFC 4648 (Base64) Python 实现

python - 将装饰器应用于导入的函数?

用于更改当前对象实例的类方法的 Python 装饰器,即 self