Python基礎~lambda式と三項演算子~

はじめに

こんにちは。風助です。

今回は三項演算子とlambda式の組み合わせについて書いていきます。

三項演算子とlambda式とは

三項演算子とlambda式について軽く説明をしていきます。

まずは三項演算子について。
三項演算子とは「if-elseを1行で表現する」ためのものです。以下のような感じで書きます。

条件式が真のときの返り値 if 条件式 else 条件式が偽のときの返り値

これだけで「if-else」を表現可能です。便利ですね。

次にlambda式について。
lambda式は簡単な無名関数を書くことができます。以下のように書きます。

lambda 引数 : 返り値

関数に名前を付けなくていいので、1度しか使わない使い捨て関数などで便利です。

それぞれの投稿があるので詳しくはそちらを見てください。

組み合わせ方

ではそれぞれの組み合わせについて。

lambda式の返り値に三項演算子を入れるというものです。

lambda 引数 : 条件式が真のときの返り値 if 条件式 else 条件式が偽のときの返り値

この2つは結構相性がいいです。
lambda式はあくまで記法の一つなので、1行で完結させる必要があります。
三項演算子も1行で完結します。
その2つを組み合わせれば1行でif-elseを行う関数を作ることができます。

関数を定義し、ifを書き、elseを書き、、、と余裕で数行使ってしまうところを1行で書き表せるのは便利ですね。
ただその分読みづらくなってしまうことは否めません。
あまりに面倒な条件式などを組み込むときはdef文で関数を作ったほうが良いかもしれませんね。

終わりに

かなり薄い内容になってしまいましたが今回はここまで。

lambda式というと私の中では「脱初心者」というイメージですが皆さんはどうでしょうか。
三項演算子もそうです。
まだまだ1人前と言えるレベルではないですが、少しづつ進歩はしているのかな。

では次回また会いましょう。

コメント

  1. […] […]

タイトルとURLをコピーしました