部分関数を使用すると、関数の特定の数の引数を固定し、新しい関数を生成できます。この記事では、さまざまな例を使用して部分関数の概念を理解しようとします。 パイソン 。
Javaスレッドの作成
Python での部分関数と部分関数の使用とは何ですか?
Python の部分関数とは、別の関数の引数を一定数固定して作成される関数です。 Python には、と呼ばれる組み込みモジュールが用意されています。 関数ツール これには、部分関数を作成するために使用できる、partial と呼ばれる関数が含まれています。のpartialfunction は、呼び出し可能な関数 (通常は別の関数) と、新しい部分関数に事前に入力される一連の引数を受け取ります。この機能は次のようなものです C++ でバインドする 。
Python で部分関数を実装するにはどうすればよいですか?
部分関数は、固定引数として使用される位置引数とキーワード引数の両方をサポートしています。
例1
この例では、デフォルト値を使用して部分関数を実装します。デフォルト値は、変数の置換を左から開始します。この例では、関数に a b と c の定数値を事前に入力しています。そして g() は 1 つの引数、つまり変数 x を取るだけです。
Pythonfrom functools import partial # A normal function def f(a b c x): return 1000*a + 100*b + 10*c + x # A partial function that calls f with # a as 3 b as 1 and c as 4. g = partial(f 3 1 4) # Calling g() print(g(5))
出力:
3145例 2
この例では、c と b の値を割り当てた定義済みの定数値を使用し、add_part() は単一の引数、つまり変数 a を受け取ります。
Pythonfrom functools import * # A normal function def add(a b c): return 100 * a + 10 * b + c # A partial function with b = 1 and c = 2 add_part = partial(add c = 2 b = 1) # Calling partial function print(add_part(3))
出力:
312部分関数の使用
- ライブラリとの統合: 部分関数を使用すると、部分引数を指定することでサードパーティの関数またはメソッドの動作をカスタマイズしたり、他のライブラリと統合したりできます。
- コールバックの簡素化: 部分関数を使用すると、コールバック固有のパラメーターを修正し、コードの残りの部分にクリーンなインターフェイスを提供することで、特殊なコールバック ハンドラーを作成できます。
- パラメータの固定: : 部分関数は、複数のパラメーターを持つ関数があり、一部のパラメーターを固定してそれを頻繁に使用したい場合に非常に役立ちます。これらの固定パラメータを繰り返し渡す代わりに、部分関数を作成し、残りの引数を使用してそれを呼び出すことができます。
- 重複の削減: さまざまな場所で関数に同じ引数を使用している場合、それらの固定引数を使用して部分関数を作成すると、コードの重複とメンテナンスの労力を軽減できます。
- デフォルトの引数: Pythonの組み込み
functools.partial関数の引数のデフォルト値を設定するために使用できます。 - コードの再利用性: 部分関数を使用すると、一般的な関数から特殊な関数を派生できるため、コードの再利用に役立ちます。