if文とは条件に従って処理を分岐させるために使われるものです。
if文の条件式では数値や文字列などのオブジェクトの持つ値が等しいかどうかや大きいか小さいかを調べてTrue(条件に当てはまる)又はFalse(条件に当てはまらない)を返します。そしてTrueの時に処理を実行することになります。
またif文では、全ての条件に当てはまらない時の処理をelseを利用して記述します。そして、条件は1つだけではなく、複数の条件を記述することもできます。その場合はelifを利用して、条件を追加していきます。さらにこれらelif、elseの両方を利用して記述することもあります。
この記事ではif文において、次の3つのパターンで複数の条件分岐を記述する方法を確認していきます。
ポイント
- if文でのelseの利用方法
- if文でのelif の利用方法
- if文でのelif、elseの利用方法
複数の条件分岐以外のif文全般に関するトピックは、次の記事をご参照ください。
>> 図解!Python if文の徹底解説
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
if文の書き方
if文の記述方法は以下になります。
if文に含まれる処理は、インデント(字下げ)して記述します(通常、インデントには半角スペース4つが使われます。)。処理が複数行ある場合も、全てインデントします。
インデントが終わると、if文の一連の処理は終わります。また条件式の後には、必ず :(コロン)を付けてください。
if文でelseを使った複数の条件分岐
次のように、elseを使ってif文の条件を満たさなかった場合の処理を書くことができます。
else文に含まれる処理は、インデント(字下げ)して記述します。処理が複数行ある場合も、全てインデントします。インデントが終わると、elseの一連の処理は終わります。またelseの後には、必ず :(コロン)を付けてください。
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
if文でelifを使った複数の条件分岐
先ほどは条件式1つと、その条件を満たさない場合に記述するelseの書き方を見てきましたが、今度は、条件式を追加する方法を確認しましょう。
例えば、条件式2を追加する場合は、次のように記述します。
elifの後に条件式2を書き、その後には:(コロン)を付けます。elif文に含まれる処理も、インデント(字下げ)して記述します。処理が複数行ある場合も、全てインデントします。インデントが終わると、elifの一連の処理は終わります。
さらにelifはいつくも増やすことができます。次のように、elifの一連の処理をいくつも追加して行くことができます。
if文でelif、elseを使った複数の条件分岐
elifやelseは、次のように組み合わせて使うこともできます。
この場合にelse以下の処理は、その上の全ての条件式(条件式1からn)が満たされない場合のみ(Falseの場合のみ)、実行されます。
elif、elseの利用方法について、いくつか例を挙げていきます。
変数salesに代入された数値が、それぞれ、
- 100以上の場合、「Salesは100以上です。」
- 100未満で50以上の場合、「salesは100未満、50以上です。」
- 50未満で20以上の場合、「salesは50未満、20以上です。」
- 20未満の場合、「salesは20未満です。」
と表示します。
salesに80を代入し実行すると1つ目のelif文の処理が実行され「salesは100未満、50以上です。」と表示されました。2つ目のelif文の処理やelse文の処理は実行されません。
1 2 3 4 5 6 7 8 9 | sales = 80 if sales >= 100: print("salesは100以上です。") elif sales >= 50: print("salesは100未満、50以上です。") elif sales >= 20: print("salesは50未満、20以上です。") else: print("salesは20未満です。") |
同じ処理に対して、今度はsalesに10を代入し実行すると、全てのif、elif文の条件はFalseになりますので、else文の処理が実行され「salesは20未満です。」と表示されます。
1 2 3 4 5 6 7 8 9 | sales = 10 if sales >= 100: print("salesは100以上です。") elif sales >= 50: print("salesは100未満、50以上です。") elif sales >= 20: print("salesは50未満、20以上です。") else: print("salesは20未満です。") |
発売数9,000本突破を記念して、今だけ期間限定で87%オフの大セール中!!!
if文(else/elif)を一行で記述する方法
Pythonのif文は、通常は複数行に渡って記述することになりますが、一行で簡潔に記述することもできます。一行での記述方法については、次の記事をご参考ください。
関連記事です。
Pythonのif文全般のトピックについては、こちらに纏めた記事がございます。
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。