無名関数とは?
Pythonの関数には、無名関数と呼ばれるものがあり、これを使えばコードを簡素化できます。無名関数とは、その名の通り名前がない関数であり、関数をその場に記述する記法です。
無名関数を書くには、lambda
というものを使います。普通の関数を作るときと同じで、lambda
と記述して引数を設定した後、その処理を記述します。
簡単のため、足し算をするcalc_add関数を例に見ていきます。
足し算を行う関数での例
# calc_add関数を定義
def calc_add(a, b):
return a + b
# それを実行
calc_multi(3, 9)
#calc_multi(3, 9) = 12
lambda
というキーワードを使って、その場で関数を記述する無名関数として書くと、このコードは、次のように書けます。
(lambda a, b: a + b)(3, 9)
上のlambda a, b:
が、関数名(a, b)
に相当する部分であり、:
で区切って、その関数の処理(ここではreturn a * b
)を記述するというのが、無名関数の基本的な書き方となります。
無名関数は、リストなどの要素に対して何か関数を実行したいときに、よく使われます。