【发布时间】:2011-05-27 08:10:22
【问题描述】:
在我的 Python 应用程序中,我想创建一个既是 staticmethod 又是 abc.abstractmethod 的方法。我该怎么做?
我尝试应用这两个装饰器,但它不起作用。如果我这样做:
import abc
class C(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
@staticmethod
def my_function(): pass
我得到一个例外*,如果我这样做:
class C(object):
__metaclass__ = abc.ABCMeta
@staticmethod
@abc.abstractmethod
def my_function(): pass
抽象方法没有被强制执行。
如何制作抽象的静态方法?
*例外情况:
File "c:\Python26\Lib\abc.py", line 29, in abstractmethod
funcobj.__isabstractmethod__ = True
AttributeError: 'staticmethod' object has no attribute '__isabstractmethod__'
【问题讨论】:
标签: python abstract-class static-methods