【Python入門】lambda式とは?無名関数をやさしく解説!

Python

Pythonでは、関数に名前をつけずに「その場で」使える便利な書き方があります。それが 無名関数(lambda関数) です。

この記事では、初心者の方にもわかりやすく lambda(ラムダ)式の使い方・メリット・注意点 を解説します。

この記事の対象

  • 無名関数とは?を知りたい方
  • 無名関数の使用方法を知りたい方
  • 無名関数のメリット・デメリットを知りたい方
スポンサーリンク
スポンサーリンク

無名関数とは?

無名関数とは、名前の無い関数で変数に代入して用いるものです。関数を宣言することなく関数を使用できるのが無名関数です。Pythonでは「lambda(ラムダ)」を用いることで無名関数を実現できます。

通常、Pythonの関数は def を使ってこう書きます:

def average(x, y):
    return (x + y) / 2

ですが、一時的に使いたいだけの簡単な関数なら、わざわざ名前をつけるのは面倒です。

そんなときに便利なのが lambda(ラムダ)というキーワードです。

lambda式は、1つ以上の引数を取り、単一の式を評価して、その値を返します。無名関数は、一時的に関数が必要な場合や、短いコードの断片で関数を定義する場合に役立ちます。

無名関数のメリットは、次のとおりです。

  • 一時的な関数が必要な場合に便利である。
  • シンプルな処理を行うために使用でき、可読性の高いコードを書くことができる。

一方、デメリットは次のようになります。

  • 複雑な処理には向いていない。
  • 名前のない関数であるため、複雑なコードで使用される場合、可読性が低下することがある。

lambda式の書き方

#無名関数の型
変数名 = lambda 引数1,引数2,引数3...:処理内容

ポイント

  • return は不要!(自動で返されます)
  • : の右に書いた式がそのまま返されます
  • あくまで「シンプルな処理」に向いています

無名関数を用いた使用例

実際に使ってみよう!

# 2つの値の平均を計算する無名関数
average = lambda x, y: (x + y) / 2

# 関数を使ってみる
print(average(80, 90)) 

上記のプログラムの出力結果は「85.0」です。無名関数として、80と90を引数として処理しているプログラムとなります。

結果

85.0

よくある使い方例

# リストを要素の長さでソート
words = ['banana', 'apple', 'kiwi']
words.sort(key=lambda x: len(x))
print(words)  

結果

['kiwi', 'apple', 'banana']

lambda関数のメリット

メリット説明
✅ 簡潔に書ける1行で関数を定義できる
✅ 一時的に使える他の関数の引数としてその場で書ける(例:map()sorted()
✅ コードが読みやすくなる小さい処理なら def よりスマート

デメリット・注意点

デメリット説明
⚠ 複雑な処理には不向き条件分岐や複数ステップの処理には不適
⚠ 名前がないので追いにくいデバッグや再利用には不便な場合も

まとめ

内容ポイント
lambda式の目的名前なしで簡単な関数を作れる
使いどころ簡単な処理、一時的な関数、関数の引数など
注意点複雑な処理は def を使おう!

次に読む:関数とは?-操作方法と概要-

タイトルとURLをコピーしました