Pythonにおけるコーディング手法の1つ「ラムダ式(lambda)」について3分で端的に解説します。
ラムダ式(lambda)を理解するために必要な関数(def文)の知識など前提となる知識も本ページでサクッと解説していきますので、初心者の方も是非最後までご覧ください。
それでは、早速解説を始めます。
Python:ラムダ(lambda)式とは?
簡単に言うと、ラムダ式(lambda)は関数を短く書けるようにした仕組みです。
つまり、ラムダ式が何者であるか?を理解するためには、関数とは何者か?を押さえておく必要があります。
この章では、初心者の方向けにPythonにおける関数の基本を簡単に解説しておきます。
【復習】関数とは?
関数とは、一言で言えば「複数の処理を1つにまとめて名前を付けたもの」。 処理を予め構造化(定義)しておき、あとから呼び出す形で利用するイメージのものです。

実際のコードはこちら。
def func1 (): print("初めての関数") func1() # 関数の実行 # 結果 ⇒ 初めての関数
関数について、より丁寧に理解したい方はこちらの記事も合わせてご覧ください。
Python:ラムダ(lambda)式の使い方を分かりやすく
ラムダ式は、関数を短く書けるようにした仕組みです。
基本的な構文は以下の通り。
lambda 引数:処理
"lambda"に続けて、引数と処理内容を記載するだけ。
以下と全く同じことです。ラムダ式で記述すれば関数名が不要になります。
def 関数名(引数): return 返り値
引数や、戻り値の考え方は関数(def)文と全く同じです。
これだけではラムダ式のイメージが全くわかないと思うので、サンプルコードを見ながら頭を整理していきましょう。
まずは、通常のdef文―。ラムダ式を用いない場合の関数をコーディングします。
def add_func(a, b): return a + b
このコードをラムダ式で書きます。
lambda a,b : a+b
すっきり1行で記述することができました。
ラムダ式では、関数名をわざわざ付与しなくても良いため、かなり見た目がすっきりします。
ラムダ式の引数に値を渡す方法
ラムダ式の引数に値を渡すためには、以下のように記述します。
(lambda a,b : a+b)(2,9) # (lambda 引数:処理)(値)
つまり、通常の書き方であれば
# 関数の定義 def add_func(a, b): return a + b # 関数の実行 a = add_func(2,9) # 値の表示 print(a)
というように記述するところ、ラムダ式であれば
# 関数の定義・実行 a = (lambda a,b : a+b)(2,9) # 値の表示 print(a)
というように、こちらもすっきり記述することが可能になります。
引数がない場合のラムダ式
引数がない場合も、当然ラムダ式を利用することは可能です。
(lambda: print("HelloWorld"))() # (lambda:処理内容)()でOK。
ラムダ式(lambda)の使いどころ
で、結局このラムダ式の何が良いかという話です。
ラムダ式では、わざわざ関数名を考えなくて済むという利点が1つ。そして、処理の定義と実行が1文で書けるという利点があります。
この利点が生かせるのは、以下のような場合。
Pythonのコーディング規約によれば、名前を付けたい場合はdef文を用い、名前を付ける必要がない場合はlambdaを使うことを推奨していますが、結局分解すると上記3つに場合と同じです。
ラムダ式は初心者の方にとっては、少し難しいように感じるかもしれませんが、使いこなせるようになればメリットも多い書き方です。
是非、この機会にマスターしておきましょう。
Pythonを1から学習したい方は
Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。
そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。
各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。