ラムダ式
Pythonは手続き型言語、オブジェクト指向型言語に分類されるプログラミング言語
他には関数型言語という分類があり、ラムダ式は関数型言語の機能の一つでPythonで使うことで
関数型言語の便利な部分を使うことができる。
lambda 引数,...:式
ラムダ式は無名関数を作成するための文法
上記のラムダ式は下記の関数と同じ働きをする
def 関数名(引数,...):
return 式
例題
引数fとして受け取った関数を0から9までの整数に対して呼び出し、戻り値を表示する関数を定義
loop.py
def loop(f):
for i in range(10):
print(f(i),end=' ')
引数xを受け取りxの2乗を返す関数を定義(square関数)
squareを引数としてloop関数を呼び出す
loop.py
def loop(f):
for i in range(10):
print(f(i),end=' ')
def square(x):
return x*x
loop(square)
実行結果
0 1 4 9 16 25 36 49 64 81
これをラムダ式で簡潔にすることができる
loop.py
def loop(f):
for i in range(10):
print(f(i),end=' ')
loop(lambda x: x*x)
実行結果
0 1 4 9 16 25 36 49 64 81
ラムダ式を使えば1行にまとめることができる