Python ラムダ関数
ラムダ関数は、小さな匿名関数です。
ラムダ関数は任意の数の引数を取ることができますが、式は1つだけです。
構文
lambda 引数 : 式
式が実行され、その結果が返されます。
例
x = lambda a : a + 10
print(x(5))
ラムダ関数は任意の数の引数を取ることができます。
例
x = lambda a, b : a * b
print(x(5, 6))
例
x = lambda a, b, c : a + b + c
print(x(5, 6, 2))
ラムダ関数の利用
ラムダの真の力は、別の関数の中で匿名関数として使用するときによく示されます。
もし、1つの引数を受け取る関数定義があり、その引数が未知の数値と乗算される場合:
def myfunc(n):
return lambda a : a * n
その関数定義を使用して、送信される数値を常に2倍にする関数を作成します:
例
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
または、同じ関数定義を使用して、送信される数値を常に3倍にする関数を作成します:
例
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
また、同じ関数定義を使用して、両方の関数を同じプログラム内に作成します:
例
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
ラムダ関数は、匿名関数が一時的に必要な場合に使用します。