Pythonのif文は、通常は複数行に渡って記述することになりますが、三項演算子という書き方で一行で簡潔に記述することもできます。
この記事では、Pythonの以下の3種類のif文について、三項演算子を用いて一行で記述する方法を確認していきます。
ポイント
- if else文
- if elif文
- if文(elseなし)
>> 図解!Python if文の徹底解説
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
三項演算子を用いてif else文を一行で記述する方法
まずはif else文を一行で記述する方法を確認します。三項演算子を用いてif else文を一行で記述する方法は次のようになります。
if文の中の条件式や処理の順番が変わり、わかりづらくなりましたので、通常のif文との違いを番号を付けて、確認しましょう。
通常のif文の構成要素に番号を振ると次のようになります。
これを一行で記述するには、次のように順番を変える必要があります。
1.と2.の箇所の順番が入れ替わっています。
それでは、以下のif else文を使った記述を一行に書き直してみましょう。
1 2 3 4 5 | x = 1 if x == 3: print("Trueです。") else: print("Falseです。") |
上記のif else文を一行に書き直すと、次のようになります。
1 2 | x = 1 print("Trueです。") if x == 3 else print("Falseです。") |
今度は変数xに3を代入すると、「Trueです。」と表示されました。
1 2 | x = 3 print("Trueです。") if x == 3 else print("Falseです。") |
このようにして、if else文は一行でも記述することができます。
三項演算子を用いてif elif文を一行で記述する方法
次にif elif文を一行で記述する方法を確認します。if elif文については、先ほど説明しました「if else文の一行で記述」を繋げて一行で記述していくことになります。
こちらも通常のif elif文との違いがわかるように番号を付けて、確認していきます。
通常のif elif文の構成要素に番号を振ると次のようになります。
これを一行で記述すると、次のように順番を変える必要があります。
1.と2.、3.と4.の箇所の順番が入れ替わっています。
それでは、以下のif elif文を使った記述を一行に書き直してみましょう。
1 2 3 4 5 6 7 | x = 9 if x < 10: print("xは10未満です。") elif x >= 20: print("xは20以上です。") else: print("xは20未満です。") |
上記のif elif文を一行に書き直すと、次のようになります。
1 2 | x = 9 print("xは10未満です。") if x < 10 else print("xは20以上です。") if x >= 20 else print("xは20未満です。") |
今度は変数xに19を代入すると、「xは20未満です。」と表示されました。
1 2 | x = 19 print("xは10未満です。") if x < 10 else print("xは20以上です。") if x >= 20 else print("xは20未満です。") |
最後に変数xに20を代入すると、次のようになります。
1 2 | x = 20 print("xは10未満です。") if x < 10 else print("xは20以上です。") if x >= 20 else print("xは20未満です。") |
このようにして、if elif文も一行で記述することができます。
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
三項演算子を用いてif文(elseなし)を一行で記述する方法
最後に、else文も無い通常のif文を一行で記述する方法を確認します。こちらは至って簡単で、if文の条件式の後の:(コロン)に続けて、処理を記述するだけです。
次のif文を使った記述を一行に書き直してみましょう。
1 2 3 | x = 3 if x == 3: print("Trueです。") |
上記のif文を一行に書き直すと、次のようになります。
1 2 | x = 3 if x == 3: print("Trueです。") |
変数xに1を代入すると、
1 2 | x = 1 if x == 3: print("Trueです。") |
処理は実行されず、出力結果には何も表示されませんでした。
この記事では、Pythonの以下の3つのタイプのif文について、一行で記述する方法を確認しました。
ポイント
- if else文
- if elif文
- if文(elseなし)
関連記事です。
Pythonのif文全般のトピックについては、こちらに纏めた記事がございます。
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。