Python入門【lambda式(ラムダ式)の使い方】

こんにちは、ミナトです。

「簡単な処理でわざわざ関数を定義するほどでもない」というような場合はlambda式(ラムダ式)を利用することでコード量を減らして使い捨ての関数を定義できます。

今回は使い捨ての関数を定義できるlambda式(ラムダ式)について紹介します。

今回は名前をつけずに使い捨ての関数が定義できるlambda式(ラムダ式)を紹介するで😆
以下のような方を対象としています
  • Pythonでlambda式(ラムダ式)を使いたい
  • コード量を減らして見通しの良いコードを書きたい
  • Pythonでプログラミングを学びたい

lambda式(ラムダ式)の使い方

lambda式(ラムダ式)とは?

lambda式(ラムダ式)とは、名前をつけずに使い捨ての関数を定義できる記述方法のことです。名前がないことから無名関数と呼ばれることもあります。

lambda式(ラムダ式)の定義

ラムダ式の定義

lambda 引数: 式(処理内容)

例えば、以下の例では、引数に文字列のリストと文字を変換する関数を受け取る関数func1があったとします。ラムダ式を使わずに定義すると以下のように記述できます。

以下の例では、func1の第二引数にword_upper関数を渡し、リストの中の文字列を全て大文字にして出力しています。

fruits = ['Apple', ' Banana', 'Orange']


# 文字列を大文字にする関数
def word_upper(word):
    return word.upper()


def func1(words, func):
    for word in words:
        print(func(word))


func1(fruits, word_upper)


## 出力
APPLE
BANANA
ORANGE

上記と全く同じ処理を今度はラムダ式を利用して記述します。
ラムダ式を利用することでわざわざ関数を定義しなくても一行でスッキリ記述することができます。

このように短い処理を記述する場合は、関数を定義するよりラムダ式で記述したほうが効率的なケースもあります。

fruits = ['Apple', 'Banana', 'Orange']


def func1(words, func):
    for word in words:
        print(func(word))


# 複数実行する場合もわざわざ関数を定義しなくて良い
func1(fruits, lambda word: word.upper())
func1(fruits, lambda word: word.lower())

まとめ

lambda式(ラムダ式)とは、名前をつけずに使い捨ての関数を定義できる記述方法のことです。
以下Pythonのラムダ式の特徴です。

ラムダ式の特徴
  • 使い捨ての関数を定義できる
  • 無名関数とも呼ばれる
  • 関数化するほどでもない短い処理を定義するのに便利

lambda式(ラムダ式)を利用することでコード量を減らしてがスッキリと記述できるので、必要に応じて利用してください。

最後まで読んでいただき、ありがとうございます。

この記事が、「面白いな」、「勉強になったな」という方は、ぜひ、SNSでシェアしていただけると嬉しいです。