【Python入門】if文の使い方(複数条件)

if文 Python

if文の使い方です。
if文は、処理の場合分けをするときに使う制御構文で、条件分岐を作ることができます。

制御構文とは

  • if文
  • while文
  • for文

pythonには3種類の制御構文があります。
プログラムはコードの順に処理を実行しますが、順番ではない進めかたをするために、プログラムの流れをかえる制御構文が用意されています。
if文は条件によって処理を分岐するときに、while文とfor文は処理を繰り返すときに使います。

条件分岐の使い方

条件分岐の基本的なパターンは、次の4種類です。
順番に使い方を見ていきましょう

  • if
  • if – else
  • if – elif
  • if – elif – else

if文

まずは、if文でどのように処理が分けられるかフローチャートを見てみましょう。

if
図1: if

図1では、<条件式>と[処理2]にif文を使います。
<条件式>の条件に一致するときは、[処理2]を実行しますが、条件に一致しないときは、そのまま(終了)します。

それでは、if文をpythonで書いてみましょう。

if
In [1]:  p = 0
         if p == 0:
             p = p + 1 
             print(p)   
1

In [1]: pに0を入れる。
if文: pが0に一致したら、pに1を加算して、pを表示する。

このif文を図1に当てはめると、
<条件式>pが0に一致したら、[処理2] pに1を加算して、pを表示する 。
となります。

pを1やほかの数字に変えて実行してみてください。
何も表示されませんよね。
実行後、すぐに(終了)しているからです。

pが0に一致しないときにも何か処理をしたいときがありますよね。
そんなときは、if – else文を使います。

if – else文

if-else文でどのように処理が分けられるかフローチャートを見てみましょう。

if-else
図2: if – else

図2では、if文に、[処理3]が追加されています。
<条件式>の条件に一致しないときは、[処理3]を実行してから(終了)します。

if – else
In [1]:  p = 8
         if p == 0:
             p = p + 1 
             print(p) 
         else:
             p = p - 10
             print(p)  
8

In [1]: pに8を入れる。
if文: pが0に一致したら、pに1を加算して、pを表示する。
pが0に一致しないとき、pに10を減算して、pを表示する。

このif文を図2に当てはめると、実行されたのは、
<条件式>pが0に一致しないので、[処理3] pに10を減算して 、pを表示する 。
となります。

これで、pがどんな数字でも、処理が実行するようになりました。

次は、数字によって処理を分けていく方法を見てみましょう。

if – elif – else文

条件分岐が2つあるif文です。
1つ目の条件分岐はif、2つ目以降はelif、最後にelseを使います。
if-elif-else文でどのように処理が分けられるかフローチャートを見てみましょう。
elseを省略すると、[処理4]は実行されません。

pythonでは、2つ目の条件分岐をelifと記述しますが、else ifと記述する言語もあります。

if-elif-else-box
図3: if – elif – else
if – elif -else
In [1]:  p = 1
         if p == 0:
             p = p + 1 
         elif p == 1:
             p = p + 4
         else:
             p = p - 10
         
         print(p)  
5

In [1]: pに1を入れる。
if文: pが0に一致したら、pに1を加算する。
pが0に一致しないとき、pが1に一致したら、 pに4を加算する。
pが1に一致しないとき、pに10を減算する。

pを表示する。

このif文を図3に当てはめると、実行されたのは、
<条件式1>pが0に一致しないので、<条件式2>へ
<条件式2>pが1に一致しないので、[処理3]pに4を加算する 。
if文の次、[処理5]pを表示する。
となります。

elifはいくつでも使えるので、複数の処理に分けることができます。
また、if – else文の例では、[処理2]と[処理3]で同じ処理print(p)を記述していますが、if – elif – else文の例では、[処理5]としてまとめています。

コードは簡潔しておくと、バグや修正もれが起きにくいですよ。

if文の書き方

if文の使い方がわかったところで、Pythonでの記述方法を詳しく見てみましょう。

if – elif -else
In [1]:  p = 1
         if p == 0:
             p = p + 1 
         elif p == 1:
             p = p + 4
         else:
             p = p - 10
         
         print(p)  
5

if <条件式>: [処理]
if 半角スペース <条件式> 半角コロン(:)と記述します。

上の例では、改行していますので、[処理]の前を半角スペースで字下げしています。
jupyuter notebookを使うと、自動で字下げしてくれますね。

Pythonは、字下げでif文の範囲を決めているので、忘れないようにしましょう。

if <条件式> then と記述する言語もありますが、Pythonではthenが:(コロン)になります。
コードの記述量が少なくてよいですが、写経するときは書き忘れないようにしましょう。


elif <条件式>: [処理]
elif 半角スペース <条件式> 半角コロン(:)と記述します。

ifがelifになりますが、あとは同じです。
else ifと記述する言語もありますが、Pythonは短くelifになります。


else: [処理]
else 半角コロン(:)と記述します。

elseには条件式がないので、:(コロン)に続いて[処理]を記述します。

まとめ

  • if文を使うと、条件式に一致した処理のみを行うことができる
  • if-else文を使うと、条件分岐で処理を2つに振り分けることができる
  • if-elif-else文を使うと、複数の条件分岐により処理を振り分けることができる

Pythonのif文の使い方がわかったでしょうか。
if文は、プログラムの構造を作るための制御構文で、条件に応じて処理を分岐させることができました。
今回の解説は、条件が一致する場合の条件式だけでしたので、ほかの条件式の使い方も身につけてスキルアップしてください。

関連情報

タイトルとURLをコピーしました