Nella mia app Python voglio creare un metodo che sia sia un staticmethod
che un abc.abstractmethod
. Come faccio a fare questo?
Ho provato ad applicare entrambi i decoratori, ma non funziona. Se lo faccio:
import abc
class C(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
@staticmethod
def my_function(): pass
Ottengo un'eccezione * e se lo faccio:
class C(object):
__metaclass__ = abc.ABCMeta
@staticmethod
@abc.abstractmethod
def my_function(): pass
Il metodo astratto non viene applicato.
Come posso creare un metodo statico astratto?
*L'eccezione:
File "c:\Python26\Lib\abc.py", line 29, in abstractmethod
funcobj.__isabstractmethod__ = True
AttributeError: 'staticmethod' object has no attribute '__isabstractmethod__'