無名関数について
今回は無名関数lamdaについて取り扱っていきます。
結構前の記事で関数について扱いましたが、その関数の亜種みたいな感じです。
皆さんは関数について覚えていますか?
def 関数名(引数):
関数の処理
という構文のやつですね。そして、関数を読み出すときは 関数名(引数) と書くんでしたね。
では、無名関数はどのように使うのでしょうか?名前の通り、無名関数は名前のない関数です。通常の関数と同じようには使うことができません。そのため、無名関数を使うためには変数に代入する必要があります。また、無名関数は通常の関数のように宣言する必要がありません。次の構文で書きます。
v = lamda 引数1, 引数2, ... : 式
実際に具体例を見ていきましょう。引数として与えられたものを足し合わせたものを返す関数を作ってみましょう。
a = lambda x, y :x + y
print(a(8, 9))
print(a(4, 5))
実行結果
17
9
なんとなくつかめましたか?上の例はlamda関数を用いて、x,y を引数にもち、x+yを戻り値としてもつ関数aを作ったことになります。通常の関数を使うと、以下のようになります。
def a(x, y):
returm x+y
無名関数を用いたほうが少し短くなっていることが分かるでしょうか。無名関数を用いると、関数を定義する必要がない分、少し楽になっていることが分かります。
以上で今回の記事は終わりです。お疲れさまでした。