この記事の例では、Python でのラムダ式の使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
ここでラムダ関数を紹介します。
ラムダ関数は、単一行を素早く定義する最小限の関数であり、Lisp から借用されたもので、関数が必要な場合はどこでも使用できます。次の例では、従来の関数定義 def とラムダ定義を比較しています。
リーリー実際、多くの場合、ラムダ関数を変数に代入する必要はありません。
ラムダ関数を使用する際に注意すべき点がいくつかあります:
ラムダ関数は、任意の数のパラメータ (オプションのパラメータを含む) を受け取り、単一の式の値を返すことができます。 Lambda 関数にはコマンドを含めることはできず、複数の式を含めることもできません。 以下は、ラムダ関数を使用してカスタム並べ替えを実装する方法の簡単なデモンストレーションです。
リーリー
並べ替え前:
年齢:21歳 性別:男性
年齢:20歳 性別:女性
年齢:34歳 性別:男性
年齢:19歳 性別:女性
昇順ソート後:
年齢:19歳 性別:女性
年齢:20歳 性別:女性
年齢:21歳 性別:男性
年齢:34歳 性別:男性
降順ソート後:
年齢:34歳 性別:男性
年齢:21歳 性別:男性
年齢:20歳 性別:女性
年齢:19歳 性別:女性
lambda ステートメントは、新しい関数オブジェクトを作成し、実行時にそれらを返すために使用されます。
例: ラムダフォームの使用
リーリー
リーリー
ここでは、make_repeater 関数を使用して、実行時に新しい関数オブジェクトを作成し、それを返します。
lambdaステートメントは関数オブジェクトの作成に使用されます。基本的に、ラムダはパラメータを受け取り、その後に関数本体として単一の式を受け取り、その式の値が新しく作成された関数によって返されます。 print ステートメントであってもラムダ形式では使用できず、式のみが使用できることに注意してください。
defとlambdaの違いこれらの主な違いは、Python def がステートメントであり、Python lambda が式であるということです。これを理解することが重要です。 以下のアプリケーションをご覧ください。
まず、Python ではステートメントをネストできます。たとえば、特定の条件に基づいてメソッドを定義する必要がある場合は、def のみを使用できます。
ラムダを使用するとエラーが発生します。
リーリー
これが例です:
リーリー
① python lambda は関数オブジェクトを作成しますが、関数オブジェクトを識別子に代入しません。一方、def は関数オブジェクトを変数に代入します。
② python lambda は単なる式ですが、def はステートメントです。
以下は Python ラムダの形式です。非常に合理化されています。
リーリー
Pythonのリスト解析でPython lambdaを使うと、Python lambdaは関数オブジェクトを作成しますが、その戻り値、つまり関数オブジェクトを使用しないため、すぐに破棄してしまうため、あまり意味がないと感じます。ラムダは単なる式であるため、次のように Python リストまたは Python 辞書のメンバーとして直接使用できます。
この場所で def ステートメントに直接置き換える方法はありません。 def は式ではなくステートメントであるため、ラムダ式の中にネストすることはできません。「:」の後には式を 1 つだけ含めることができます。つまり、defではreturnで返せるものはlambdaの後に置くこともでき、returnで返せないものはpythonのlambdaの後には定義できません。したがって、if、for、print などのステートメントはラムダでは使用できません。ラムダは通常、単純な関数を定義するためにのみ使用されます。
① 単一パラメータ:
リーリー
結果は6です
リーリー
結果は4です
プログラムを書くことがなくなったら、python lambdaを使って習熟していきます。 。
さらに Python 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください: 「Python イメージ操作スキルの概要」、「Python データ構造とアルゴリズムのチュートリアル」、「Python ソケット プログラミング スキルの概要」、「概要」 Python関数の使い方スキルまとめ』、『Python文字列操作スキルまとめ』、『Python入門と上級古典チュートリアル』、『Pythonファイル・ディレクトリ操作スキルまとめ』
この記事が Python プログラミングのすべての人に役立つことを願っています。