在我的 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__'