簡単な説明
def ステートメントに加えて、Python には関数オブジェクトを生成する式形式も用意されています。この式は、後で呼び出すことができる関数を作成しますが、関数を変数名に割り当てるのではなく、関数を返します。
ラムダ式
ラムダの一般的な形式は、キーワード lambda の後に 1 つ以上のパラメータ、コロン、式が続きます: lambda argument1 argument2 ... :引数を使用した式
lambda は式です。声明ではありません。
ラムダは式として、オプションで変数名に割り当てることができる値を返します。対照的に、def ステートメントは、結果として関数を返すのではなく、常に先頭で変数名に新しい関数を割り当てます。
ラムダ本体はコードのブロックではなく、単一の式です。
デフォルトパラメータは、defで使用されるのと同じように、ラムダパラメータでも使用できます。
>>>x = (lambda a = "www.", b = "pythontab", c = ".com": a + b +c)
>>>x("bbs")
'bbs .pythontab.com'
lambda を使用する理由
1. Python を使用して実行スクリプトを作成する場合、lambda を使用すると関数を定義するプロセスが省略され、コードがより合理化されます。
2. 他の場所で再利用されない一部の抽象関数の場合、ラムダを使用する場合、名前付けの問題を考慮する必要はありません。
3. 特定の場面でコードを理解しやすくするためにラムダを使用します。