5
pythonでは、抽象メソッドのデコレータを派生した実装に持ち帰る方法はありますか?例えば抽象メソッドのデコレータ
は、
import abc
class Foo(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
@some_decorator
def my_method(self, x):
pass
class SubFoo(Foo):
def my_method(self, x):
print x
SubFoo
のmy_method
に私の知る限りsome_decorator
が飾られません。それぞれの派生クラスを個別に飾ることなく、これを実現できる方法はありますか?Foo
?
私は恐ろしい魔法を使うだけです。抽象メソッド '_my_method'を呼び出し、基本的に' some_decorator(self._my_method)(* args、** kwds) 'を行う非抽象型で、オーバーライドされていない' my_method'を持っていますか? – delnan
@delnanええ、ええ、大規模なメタクラスの魔法とあなたの良い提案の間の解決策があるかもしれないと思っていました。しかし、私は私がしなければならないことをやることをやるだろう。 –