Pythonのlambda(ラムダ式)とは

Pythonのlambda(ラムダ)式は、無名の小さな関数を作成するための方法です。この無名関数は通常、簡単な操作や計算を実行するために一時的に使用され、名前を持たない関数として扱われます。lambda式は通常、高階関数(関数を引数として受け取る関数)や、短い一時的な関数を必要とするコンテキストで使用されます。

lambda式は、次の構文を持っています:

python
lambda 引数: 式
  • lambda: lambdaキーワードは無名関数を開始するために使用されます。
  • 引数: 関数に渡す引数を定義します。引数はコロンの前に書かれます。
  • : 関数の本体として評価される式を指定します。この式の結果がlambda関数の返り値となります。

以下はいくつかの例です:

python
# 2つの数値を加算するlambda関数 add = lambda x, y: x + y result = add(5, 3) print(result) # 出力: 8 # 文字列の長さを取得するlambda関数 str_len = lambda s: len(s) length = str_len("Hello, Lambda!") print(length) # 出力: 13

lambda式の主な特徴は次のとおりです:

  1. 簡潔さ: lambda式は非常に短く、コンパクトな関数を作成するのに役立ちます。
  2. 名前がない: lambda関数は名前を持たず、一時的に使用されることが多いため、関数オブジェクトを変数に代入しなくてもすぐに使用できます。
  3. 高階関数で使用: lambda関数は高階関数の引数として他の関数に渡すことができ、フィルタリングやマッピングなどの操作で便利です。

ただし、lambda式は複雑なロジックを持つ関数を定義するためには適しておらず、通常のdefステートメントを使用して通常の関数を定義する方が適しています。