Dans mon application Python, je veux créer une méthode qui est à la fois un staticmethod
et une abc.abstractmethod
. Comment puis-je faire cela?
J'ai essayé d'appliquer les deux décorateurs, mais cela ne fonctionne pas. Si je fais ceci :
import abc
class C(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
@staticmethod
def my_function(): pass
Je reçois une exception*, et si je fais cela :
class C(object):
__metaclass__ = abc.ABCMeta
@staticmethod
@abc.abstractmethod
def my_function(): pass
La méthode abstraite n'est pas appliquée.
Comment puis-je créer une méthode statique abstraite?
*L'exception :
Fichier "c:\Python26\Lib\abc.py", ligne 29, dans abstractmethod
funcobj.__isabstractmethod__ = True
AttributeError: l'objet 'staticmethod' n'a pas d'attribut '__isabstractmethod__'