Python 無名関数のサンプル(lambda)

Pythonの無名関数のサンプルです。(確認環境:Python 3)

目次

サンプル 無名関数
  コールバック関数に無名関数を使用する

無名関数

変数 = lambda 引数 : 戻り値
  • 無名関数は、キーワードのlambda(ラムダ)を使用します。
  • コロンの左側が引数で、右側が戻り値です。
  • 無名関数なので関数名がありません。
  • Pythonの公式ドキュメントのラムダ (lambda)のリンクです。
    https://docs.python.org/ja/3/reference/expressions.html?#lambda

関数から無名関数にするサンプルです。

1.以下は関数です。

# coding: utf-8

def test1(a):
	return a + "です"

print(test1("赤")) # 赤です

3,4行目は、test1という関数です。引数を受け取りreturnで値を返します。

2.上記の関数を無名関数にします。

# coding: utf-8

b = lambda a : a + "です"

print(b("赤")) # 赤です

3行目は、無名関数です。関数名がありません。lambdaの右が引数で、コロンの右側が戻り値です。
5行目は、3行目の関数を実行しています。引数として文字列"赤"を渡しています。

 

コールバック関数に無名関数を使用する

関数の引数に無名関数をセットするサンプルです。
コールバック関数とは、関数の引数に指定される関数のことです。

# coding: utf-8

def test1(x,y):
	z = y(2,3)
	return x + "の" + str(z)

print(test1("ダイヤ",lambda a,b : a * b)) # ダイヤの6

3~5行目は、test1という関数です。
7行目のtest1関数を呼び出す2つめの引数(lambda以降)は無名関数です。3行目の関数の引数yに無名関数を渡しています。

4行目は、渡された無名関数を実行し値を変数zにセットしています。
5行目は、7行目の呼び出し元に値を返しています。
7行目は、3行目のtest1関数の実行結果でダイヤの6と表示されます。

関連の記事

Python 関数のサンプル(def)
Python ローカル変数とグローバル変数

△上に戻る