とまと あんらいぷ…

エンジニアの活動記録とかつぶやきとか

GitHub
スポンサードリンク

pythonにおけるラムダ式の書き方

WindowsでPython シリーズ その16


pythonではlambdaキーワードを使うと、ラムダ式が使えるようです。
数年前に流行りだした(?)ラムダ式。
C#プログラマには朗報なのかも。

そもそもラムダ式ってなんだよ


ラムダ式は、無名関数を簡単に定義できる構文です。
ラムダ式の前に、まずは関数を変数に代入できることを理解する必要があります。

こんな感じ。


実行結果
pythonにおけるラムダ式の書き方

変数定義を冒頭でしていますが、その変数を引数なしで変数に代入しています。
その後、変数に引数を与えて呼び出すと、関数のように振る舞ってますね。
これが前提

ラムダ式の書き方


先の例では、sum_num 関数を定義して、それを変数に代入していました。
でも、こんな処理がショボい関数をいちいち定義したくない。

そんな理由で、プログラム中にチョロチョロっと処理をまとめたい時に登場するのが
無名関数「lambda式」の登場です。
先と同じ処理をラムダ式を使って書いてみます。


実行結果
pythonにおけるラムダ式の書き方

はい、関数定義するよりもスッキリ書くことができました。
ただ、多用すると関数定義よりもコードが読みにくくなります。
同じような処理のラムダをたくさん書くのであれば、素直に関数定義したほうがよいでしょう。
あくまでも無名関数:ラムダは構文を簡単にしたもの(シンタックスシュガー)なのでコーディング時はセンスが求められますね。

ラムダ式の書き方まとめ


  • ラムダ式は lambda キーワードを使う

  • return は書かない

  • ()も書かない

  • "ラムダ"と読んでるけど、bがいりますからね。"lambda"です。

    いやぁ、、、それにしてもこの言語どうなってんだろ。便利な機能多すぎですね。
    ▼この記事を読んだ方は、こんな記事も読んでいます。▼

    スポンサードリンク

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバック URL
    http://dalmore.blog7.fc2.com/tb.php/176-f6154d69
    この記事にトラックバックする(FC2ブログユーザー)

    FC2Ad