10. 条件分岐(IF文)

図解!Pythonのif文でelse、elifを使った複数の条件分岐

更新日:

if文とは条件に従って処理を分岐させるために使われるものです。

 
if文の条件式では数値や文字列などのオブジェクトの持つ値が等しいかどうかや大きいか小さいかを調べてTrue(条件に当てはまる)又はFalse(条件に当てはまらない)を返します。そしてTrueの時に処理を実行することになります。

 
またif文では、全ての条件に当てはまらない時の処理をelseを利用して記述します。そして、条件は1つだけではなく、複数の条件を記述することもできます。その場合はelifを利用して、条件を追加していきます。さらにこれらelif、elseの両方を利用して記述することもあります。

 
この記事ではif文において、次の3つのパターンで複数の条件分岐を記述する方法を確認していきます。

ポイント

  • if文でのelseの利用方法
  • if文でのelif の利用方法
  • if文でのelif、elseの利用方法
まずは最初にelif、elseを利用しないシンプルなif文の書き方を解説し、そこから順にelseやelifを加えたパターンを解説していきたいと思います。
 
 
複数の条件分岐以外のif文全般に関するトピックは、次の記事をご参照ください。
>> 図解!Python if文の徹底解説
 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

if文の書き方

if文の記述方法は以下になります。

if文に含まれる処理は、インデント(字下げ)して記述します(通常、インデントには半角スペース4つが使われます。)。処理が複数行ある場合も、全てインデントします。
 
インデントが終わると、if文の一連の処理は終わります。また条件式の後には、必ず :(コロン)を付けてください。

 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

if文でelseを使った複数の条件分岐

次のように、elseを使ってif文の条件を満たさなかった場合の処理を書くことができます。

else文に含まれる処理は、インデント(字下げ)して記述します。処理が複数行ある場合も、全てインデントします。インデントが終わると、elseの一連の処理は終わります。またelseの後には、必ず :(コロン)を付けてください。

 
 

if文でelifを使った複数の条件分岐

先ほどは条件式1つと、その条件を満たさない場合に記述するelseの書き方を見てきましたが、今度は、条件式を追加する方法を確認しましょう。

 
例えば、条件式2を追加する場合は、次のように記述します。

elifの後に条件式2を書き、その後には:(コロン)を付けます。elif文に含まれる処理も、インデント(字下げ)して記述します。処理が複数行ある場合も、全てインデントします。インデントが終わると、elifの一連の処理は終わります。

 
さらにelifはいつくも増やすことができます。次のように、elifの一連の処理をいくつも追加して行くことができます。

 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

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文の処理は実行されません。

salesは100未満、50以上です。

 
同じ処理に対して、今度はsalesに10を代入し実行すると、全てのif、elif文の条件はFalseになりますので、else文の処理が実行され「salesは20未満です。」と表示されます。

salesは20未満です。

 
 

if文(else/elif)を一行で記述する方法

Pythonのif文は、通常は複数行に渡って記述することになりますが、一行で簡潔に記述することもできます。一行での記述方法については、次の記事をご参考ください。

 
 
関連記事です。
Pythonのif文全般のトピックについては、こちらに纏めた記事がございます。

 
Pythonに関する重要なトピック全般について学んでいきたいと考えておられる方には、次のリンクをお勧めします。
 






このページも人気です!!

まとめ記事

1

Python3におけるWEBスクレイピングのやり方について初心者向けに解説した記事です。   Requests、Beautiful Soup、Selenium、Pandas、newspape ...

2

Pythonの基本的なトピックについて、チュートリアル形式で初心者向けに解説した記事です。プログラミング未経験者や初心者でもわかりやすいよう、丁寧に解説しています。   Pythonでデータ ...

3

Pandas(パンダス)とは、データを効率的に扱うために開発されたPythonのライブラリの1つで、データの取り込みや加工・集計、分析処理に利用します。   Pandasには2つの主要なデー ...

4

データ分析、機械学習、ディープラーニングにはグラフの描画による可視化は不可欠です。データは、加工前の状態ではただの数字の羅列でしかなく、一目で必要な情報が伝わるものではありません。それを集計しグラフに ...

5

NumPy(ナンパイ)は、数値計算を効率的に行うための拡張ライブラリです。ベクトルや行列などを効率的に数値計算するための数学関数ライブラリを提供します。NumPyを使うことにより、数値計算をより早く、 ...

-10. 条件分岐(IF文)

Copyright© AI-interのPython3入門 , 2020 All Rights Reserved.