Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Python】ラムダ式について

Pythonラムダ式について説明します。

ラムダ式とは、ざっくり言えば関数を手軽に書ける方法です。

ラムダ式の使い方

ラムダ式を使って関数を定義する場合

{関数名} = lambda {引数}: {処理内容}

といった書き方をします。

サンプルコード

具体例を見てみましょう。

以下のコードは

def add(a, b):
  return a + b

# 3が出力される
add(1, 2)

ラムダ式を使うと以下のように書けます。

add = lambda a, b: a + b

# 3が出力される
add(1,2)

関数に名前をつけなくても良い

関数を定義するのであれば、必ず関数に名前をつける必要があります。

しかしラムダ式の場合、その必要がありません。これがラムダ式の大きな特徴です。

つまり

add = lambda a, b: a + b
add(1,2)

を、以下のように1行で記述できます。

(lambda a, b: a + b)(1, 2)

どういう時に使うか

関数に名前をつけるのであれば、基本的には可読性の低いラムダ式をあえて使うメリットはあまりありません。

ラムダ式が有用なケースは、「わざわざ名前を付けるほどの処理はしない関数が必要な時」などです。

具体的には、sort()など関数を引数にとるメソッドを使う際に、ラムダ式を使うことで簡潔に書けます。