関数型プログラミングまたは関数型プログラミングは、プログラミング パラダイムです。
コンピュータの操作を数学的な関数操作として扱い、プログラムの状態や変数オブジェクトの使用を回避します。
上記は単純な関数型プログラミングの概念にすぎません。簡単に理解するだけで済みます。
Python では、関数型プログラミングは主に、lambda()、map()、reduce()、filter() などのいくつかの関数の使用で構成されます。
lambda 関数は匿名関数になります。ラムダ関数は式を 1 つだけ持つことができ、関数の値を返すために return を記述する必要はありません。もちろん、無名関数も関数オブジェクトであり、無名関数を変数に代入することもできます。
#匿名関数を戻り値として返すこともできます 変数 f がラムダであることがわかります。関数タイプの場合、この関数を呼び出すには f() を使用する必要があります。 2.map 関数map 関数は 2 つのパラメータを受け取ります。1 つは関数、もう 1 つは Interable (反復可能なシーケンス) です。map 関数は、シーケンスの各要素に関数を適用します。順番に、結果を新しい Interable として返します。 例を見てみましょう: map 関数を使用して、リスト a の各要素に 2 を加算する単純なリスト分析は、次のように記述できます。map 関数は遅延シーケンスを返すため、list() などの関数を通じて呼び出す必要があります。
上記のコードは for ループを直接記述するよりも複雑に見えますが、データ量が大きい場合、Python の for の効率はそれほど高くありませんが、map の効率は C の効率に近くなります。言語。 。同時に、コードも非常に単純になり、X アーティファクトに似ています。
別の小さな例では、リスト内の要素を文字列に変換するコマンド
3.reduce関数
単純なシーケンスの合計
#リスト a の各要素を順番に合計し、自家製 int() 関数の例を見てみましょう
これは Python の組み込み関数 int の使用法です
#reduce 関数と map 関数を使用して次のことも実現できます
#まず、map 関数を使用して文字列リスト 23465 を走査し、次に、reduce 関数を通じてリストの各要素をラムダ関数に再帰的に適用します。4. フィルター関数
これは関数とシーケンスも受け取ります。filter() は渡された関数を各要素に順番に適用し、戻り値が返されたかどうかに基づいてそれを保持するかどうかを決定します。 True または False です。あるいは要素を破棄します。
要約これらの関数を使用すると、コードがより簡潔になるだけでなく、データ量が大きい場合や計算が複雑な場合の効率が大幅に向上します。集中的な。
以上が誰もが知っておくべきPython関数プログラミングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。