isinstance
Python関数は内部でどのように機能しますか? クラス内で特別な関数を定義するなど、結果を変更するためにできることはありますか? これが私のユースケースです:
class Decorator:
def __init__(self, decorated):
self._decorated = decorated
def __call__(self):
return self._decorated()
@Decorator
class Foo:
pass
f = Foo()
# How can I make this be true?
isinstance(f, Foo)
Decorator
ここではミキシングが適切ではないことを除いて、ほとんどミックスインのように機能します。上記のコードを機能させる方法はありますか? isinstance
また、この行には次のエラーも表示されることに注意してください。
isinstance(f, Foo)
TypeError: isinstance() arg 2 は型または型のタプルでなければなりません