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

Pythonの無名関数のサンプルです。

確認環境
・Python 3.7.0

目次

無名関数

変数 = lambda 引数 : 戻り値

関数から無名関数にする

関数から無名関数にするサンプルです。
1.以下は関数です。

# coding: utf-8

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

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

3,4行目は、test1という関数です。引数を受け取りreturnで値を返します。
6行目は、3行目の関数を実行しています。引数として文字列"赤"を渡しています。

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 関数のサンプル
Python ローカル変数とグローバル変数

△上に戻る