Pythonで三項演算子(条件式)を使う方法!

Python Python

Pythonで三項演算子を使う方法について書いています。
三項演算子についての書き方と、動作するサンプルを載せています。

サンプルコードはPythonのバージョン3.9.12で確認しました。
公式ドキュメントにはこちらに書いています。

Pythonの三項演算子とは?どう書く?

三項演算子は1行に条件を書いて、TrueまたはFalseを判定して、値を返してくれる式です。

Pythonでの三項演算子は、下記のように書きます。

fruit = 'apple'
result = 'りんご' if fruit == 'apple' else '何かの果物'

print(result)

最初にfruit変数にappleという文字列を代入しています。
その次の行が三項演算子になっています。

result変数に値を代入しています。
fruit変数の値が’apple’か比べていて、あっていたら「りんご」そうでない場合は「何かの果物」がresultに代入されます。

最後にprint関数で出力していますが、ここでは条件にあっているので、「りんご」が出力されます。

書き方として、日本語でまとめると下記のようになります。

'条件に合う(Trueだった)時の値' if 条件文 else '合わない(Falseだった)時の値'

最初に「条件に合う時の値」を持ってきて、ifの後に条件文を書きます。
その後にelseを書いて「条件に合わない時の値」になります。

三項演算子を続けて書くのは避けたい

三項演算子は下記のように、1行に続けて書くこともできます。

color = 'red'
fruit = 'red'
result = ('りんご' if fruit == 'red' else '何かの果物') if color == 'red' else '赤色でない'

このコードでは、color変数とfruit変数に文字列”red”を代入しています。
result変数に対して、三項演算子を使って、条件によって代入する値を入れています。

最初にcolorを比較して、赤色だったら、前方の三項演算子を実行します。
前方の方はfruitが赤色だったら「りんご」を返しています。

上記では、どちらも条件にあうので「りんご」が返ってきます。

このように1行に三項演算子を複数回使うことができますが、コードが見づらくなるため、なるべくひとつで書いた方が良いでしょう。

コメント

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