・お題:無名関数を使えるようになりたい。
・Pythonでは、必要に応じて関数を組んで処理を回すことがある。defを使って書くほどもない関数を、簡単に記述する際に無名関数というやつを使うらしい。
・defで定義して特に不自由することはないと思うけれど、無名関数のlambdaという響きが気になるので、使えるようになりたい。
・例えば、defで以下の関数を作成したとする。
def test1(a,b):
return a**2+b
この後に、
test1(2,3)
を実行すると、
7が返ってくる。
・これをlambdaで記述すると、
test2=lambda a,b:a**2+b
になる。
関数=lambda 引数,引数,…… : 計算の内容
といった感じらしい。
test2(2,3)を実行すると、7が返ってくる。
・初期値も、defと同様に設定できる。
test3=lambda a=2,b=3:a**2+b
test3()
で7が返ってくる。
・ifも使える。
Guki = lambda x: "kisu" if x % 2 else "gusu"
の後に、
Guki(7)
を実行すると、
"kisu"が返ってくる。
・実際には、そもそも命名せずに使う場合もあるみたい。
・lambdaをラムダと読める時点でカッコいい。
おわり