ホームページ  >  記事  >  バックエンド開発  >  誰もが知っておくべきPython関数プログラミング

誰もが知っておくべきPython関数プログラミング

WBOY
WBOY転載
2023-04-11 22:43:121513ブラウズ

関数型プログラミングまたは関数型プログラミングは、プログラミング パラダイムです。

コンピュータの操作を数学的な関数操作として扱い、プログラムの状態や変数オブジェクトの使用を回避します。

上記は単純な関数型プログラミングの概念にすぎません。簡単に理解するだけで済みます。

Python では、関数型プログラミングは主に、lambda()、map()、reduce()、filter() などのいくつかの関数の使用で構成されます。

1.lambda function

lambda 関数は匿名関数になります。ラムダ関数は式を 1 つだけ持つことができ、関数の値を返すために return を記述する必要はありません。もちろん、無名関数も関数オブジェクトであり、無名関数を変数に代入することもできます。

誰もが知っておくべきPython関数プログラミング

#匿名関数を戻り値として返すこともできます

誰もが知っておくべきPython関数プログラミング

変数 f がラムダであることがわかります。関数タイプの場合、この関数を呼び出すには f() を使用する必要があります。

2.map 関数

map 関数は 2 つのパラメータを受け取ります。1 つは関数、もう 1 つは Interable (反復可能なシーケンス) です。map 関数は、シーケンスの各要素に関数を適用します。順番に、結果を新しい Interable として返します。

例を見てみましょう:

誰もが知っておくべきPython関数プログラミング

map 関数を使用して、リスト a の各要素に 2 を加算する単純なリスト分析は、次のように記述できます。

誰もが知っておくべきPython関数プログラミングmap 関数は遅延シーケンスを返すため、list() などの関数を通じて呼び出す必要があります。

上記のコードは for ループを直接記述するよりも複雑に見えますが、データ量が大きい場合、Python の for の効率はそれほど高くありませんが、map の効率は C の効率に近くなります。言語。 。同時に、コードも非常に単純になり、X アーティファクトに似ています。

別の小さな例では、リスト内の要素を文字列に変換するコマンド

誰もが知っておくべきPython関数プログラミング3.reduce関数

ItとMapは次のとおりです。多少似ていますが、map は 1 つずつ反復処理に使用され、reduce 関数は再帰的計算に使用されます。

単純なシーケンスの合計

誰もが知っておくべきPython関数プログラミング#リスト a の各要素を順番に合計し、自家製 int() 関数の例を見てみましょう

これは Python の組み込み関数 int の使用法です

#reduce 関数と map 関数を使用して次のことも実現できます誰もが知っておくべきPython関数プログラミング

#まず、map 関数を使用して文字列リスト 23465 を走査し、次に、reduce 関数を通じてリストの各要素をラムダ関数に再帰的に適用します。

誰もが知っておくべきPython関数プログラミング4. フィルター関数

これは関数とシーケンスも受け取ります。filter() は渡された関数を各要素に順番に適用し、戻り値が返されたかどうかに基づいてそれを保持するかどうかを決定します。 True または False です。あるいは要素を破棄します。

要約

誰もが知っておくべきPython関数プログラミングこれらの関数を使用すると、コードがより簡潔になるだけでなく、データ量が大きい場合や計算が複雑な場合の効率が大幅に向上します。集中的な。

以上が誰もが知っておくべきPython関数プログラミングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。