この記事では、Python での __call__ メソッドの使用方法を紹介します (例とともに)。これには一定の参考価値があります。必要な友人は参照できます。お役に立てれば幸いです。
Python のクラスが __call__ メソッドを定義している場合、このクラスのインスタンスは関数として呼び出すことができます。つまり、() 演算子を実装し、オブジェクト プロトコルを呼び出すことができます
以下は簡単な例です:
class TmpTest: def __init__(self, x, y): self.x = x self.y = y def __call__(self, x, y): self.x, self.y = x, y a = TmpTest(1, 2) a(4, 5) print(a.x, a.y)
この記事では、装飾部分については説明しません。デコレータを使用して __call__ メソッドの使用方法を説明します。クラスをデコレータとして使用する必要がある場合は、 、クラス デコレータを実装するために __call__ を使用する例である、この Class 実装 __call__ メソッドを提供する必要があります:
class TmpTest: def __init__(self, func): self.func=func def __call__(self, *args,**kwargs): result=self.func(*args,**kwargs) return result @TmpTest def add_num(x,y): return x+y print(add_num(1,0))
以上がPython での __call__ メソッドの使用の概要 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。