Pythonの三項演算子(条件演算子)の書き方

Pythonの三項演算子(条件演算子)の書き方

Pythonでは条件分岐処理は三項演算子(条件演算子)という別の書き方をすることもできます。この記事ではPythonにおける三項演算子の書き方についてみていきましょう。

三項演算子(条件演算子)の書き方

Pythonでは三項演算子は次のように記述します。

処理 1 if 条件式 1 else 処理 2 if 条件式 2 else 処理 3

先に条件を満たした場合の処理を書いて、その後に条件式が続くという記法です。

三項演算子ではelifを使うことはできませんが、ifとelseだけでelifを使った場合と同様の処理を書くことができます。

1行で書くと可読性が悪いので、次のように改行して書くこともできます。

処理 1 if 条件式 1 else
処理 2 if 条件式 2 else
処理 3

三項演算子を使えばより短くコードを書くことができますが、通常のif文で書く場合と比べてどうしても可読性が悪く、複数人での開発では好まれない場合もあることは念頭に置いておきましょう。

三項演算子(条件演算子)を書いてみよう

実際に通常のif文で書いた処理を三項演算子に書き換えてみましょう。

次のコードは標準入力からテストの点数を受け取ってscore変数に代入し、その数値が80以上なら「素晴らしい」、60よりも大きければ「合格」、どちらでもなければ「不合格」と表示するプログラムです。

score = int(input("テストの点数は?"))
if score >= 80:
    print("素晴らしい!")
elif score > 60:
    print("合格")
else:
    print("不合格")

このコードを三項演算子で記述すると次のようになります。

score = int(input("テストの点数は?"))
print("素晴らしい!" if score >= 80 else
"合格" if score > 60 else
"不合格")

慣れないと分かりにくいですがこういった書き方もある、ということはなんとなくでいいので覚えておきましょう。

自分がこの書き方をしなかったとしても複数人での開発や引継ぎでこういったコードを読む必要が出てくることもあります。

このエントリーをはてなブックマークに追加

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。