ホームページ > バックエンド開発 > Python チュートリアル > Python での __call__ メソッドの使用の概要 (例付き)

Python での __call__ メソッドの使用の概要 (例付き)

不言
リリース: 2018-09-17 16:38:02
オリジナル
4494 人が閲覧しました

この記事では、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート