【Python】三項演算子を用いてif文の記述を短縮【徹底解説】

Python

Pythonで三項演算子に悩んでいる人「三項演算子について知りたい。また三項演算子を用いると分岐の制御構造if文をより簡単に記述できるらしいので詳しく解説してほしい。」

こういった疑問に答えます。

本記事でわかること

  • 三項演算子の使い方
  • 三項演算子とif文の比較

【Python】三項演算子を用いてif文の記述を短縮【徹底解説】

今回は三項演算子の使い方について解説していきます。三項演算子については、「なぜ三項演算子っていう名前なの?」や「なぜこれが演算子と呼ばれているの?」などの根本的な理解は不要です。以下の2点だけをマスターすればコーディングの際に全く問題はないので、この2点について本記事では解説を行っていきます。

  • 三項演算子の使い方
  • 三項演算子とif文の比較

三項演算子の使い方

三項演算子は条件式を1行で記述する方法です。条件式と言えば制御構文でおなじみですよね、制御構文の中でも三項演算子はifとよく比較されます。ですのでif文を知ることが本記事の理解につながります。if文の解説についてはif文の基本的な使い方についての記事を参考にしてください。
pythonの三項演算子については2パターンのテンプレートが存在します。それでは早速ですが三項演算子の使い方のテンプレートは以下になります。

代入する数値を条件式で変える方法

変数 = 真の時の数値 if 条件式 else 偽の時の数値

行う処理を条件式で変える方法

真の時の処理文 if 条件式 else 偽の時の処理文

それぞれについてここから具体的にサンプルコードを用いて解説を行っていきます。if文との比較を行いながら進めていくので、どのくらい簡便さが異なるかに注目しながら読み進めていただけると、三項演算子を学ぶモチベーションにつながると思います。

三項演算子とif文の比較

代入する数値を条件式で変える方法

a = 3
b = 1 if a == 3 else 2
print(b)
#1

a = 100
b = 1 if a == 3 else 2
print(b)
#2

ちなみにこちらのコードをif文で記述すると以下のようなコードになります。

a = 3
if a == 3:
    print(1)

else:
    print(2)
#1

a = 100
if a == 3:
    print(1)

else:
    print(2)
#2

行う処理を条件式で変える方法

a = 3
print('3です。') if a == 3 else print('3ではありません。')
#3です。

a = 100
print('3です。') if a == 3 else print('3ではありません。')
#3ではありません。

こちらをif文で記述すると以下になります。

a = 3
if a == 3:
    print('3です。') 
else:
    print('3ではありません。')
#3です。

a = 100
if a == 3:
    print('3です。') 
else:
    print('3ではありません。')
#3ではありません。

まとめ

今回はpythonの三項演算子について解説を行いました。2つの使い方があり、それぞれのテンプレートを再掲します。

代入する数値を条件式で変える方法

変数 = 真の時の数値 if 条件式 else 偽の時の数値

行う処理を条件式で変える方法

真の時の処理文 if 条件式 else 偽の時の処理文

今回の記事はここまでになります。ここまでご覧いただきありがとうございました。