YutaKaのPython教室

Python の文法やライブラリ、API、環境構築について画像・動画・ソースコード付きで徹底解説!

【解説動画あり】Pythonの条件分岐if elseの使い方|Python超入門シリーズ【第15回】

Pythonのif文の基本について解説しています。

if文はプログラムの流れを制御する制御構文と呼ばれるものの一つです。

  • ある条件を満しているなら、Aという処理をする
  • そうでなければ、Bという処理をする

というように条件に応じて、異なる処理をするために使用します。

今回はif文の基本的な使い方について解説します。

 

【解説動画】条件分岐の基礎


5min. Python解説動画【入門編】|第15回:条件分岐の基礎 if, else, elif徹底解説

if文の使いどころ|条件分岐の例

例えば、遊園地の入場料金を計算するときに

  • 12歳以下なら子供割引
  • 65歳以上ならシニア割引
  • どちらでもないなら通常料金

のように、条件に応じて異なる処理をする際に、if文を使用します。

フローチャートで見ると、下図のひし形の分岐点がif文に対応します。

if文の基本的な使い方(if, else, elif)

if文の書き方

  • ifの直後に条件文: と書く
  • インデントを付けて、条件を満たしたときに処理する内容を書く

通常pythonでは、インデント(字下げ)としてスペース4文字を使用します。

(とはいっても、Google Colaboratoryだとスペース2文字だったり環境によります)

インデントを付けた部分はifブロックと呼ばれ、条件文がTrueのときにだけ実行されます。

age = 70
if age >= 65:
  print("あなたは65歳以上なので、")
  print("シニア割適用です!")
 
# あなたは65歳以上なので、
# シニア割適用です!

else文

条件を満たさない場合に、別の処理をしたい場合にはelse文を追加します。

  • ifブロックの次の行に、else:と書く
  • インデントを付けて、条件を満たさないときに処理する内容を書く
age = 50
if age >= 65:
    print("あなたは65歳以上なので、")
    print("シニア割適用です!")
else:
    print("通常料金です。")
 
# 通常料金です。

elif文

2つ目、3つ目の条件を記述する場合にはelif文を使用します。

  • if文の条件を満たさないが、
  • elif文の条件を満たす場合に

elifブロックが実行されます。

age = 6
 
if age >= 65: #←ここは条件を満たさない
  print("あなたは65歳以上なので、")
  print("シニア割引です!")
 
elif age <= 12: #←ここで条件を満たす!
  print("あなたは12歳以下なので")
  print("子供割引です")
 
else: #←既にelifブロックが実行されたので、スキップされる
  print("通常料金です")
 
# あなたは12歳以下なので
# 子供割引です

if, else, elif文の基本|早見サンプルコード

条件式が3つある場合の記述例です。

if 条件式1:
    #条件式1を満たした場合の処理
elif 条件式2:
    #条件式1を満たさず、条件式2を満たした場合の処理
elif 条件式3:
    #条件式1も2も満たさず、条件式3を満たした場合の処理
else:
    #条件式1も2も3も満たさない場合の処理
  • if, elif, elseは上から順番に処理される
  • 一度条件が一致するとそれ以降のelif, elseブロックは処理されない

ので注意しましょう。

例えば、条件1と条件2両方を満たす場合には、

  • 条件1が満たされた時点で、ifブロックが実行される
  • elifブロックelseブロックは実行されない

次の例では、elifの条件2も満たしますが、先にif文の条件を満たすのでelifブロックは実行されません。

age = 70
if age >= 65:
    print("シニア割適用です!")
elif age >=80: # ifブロックが実行されたので、以下スキップ
    print("スーパーシニア割適用です!")
else:
    print("通常料金です。")
 
# シニア割適用です!
# ↑elifブロックは実行されていないですね

ifブロックの中のif(入れ子構造)

ifブロックの中にif文を記述することもできます。

このようなif中のifのような構造を入れ子と呼びます。

次のように、条件分岐が2度続く例を入れ子構造で記述してみます。

age = 70
gender = "female"
if age >= 65:
  print("シニア割適用です!")
 
  if gender == "female":
    print("レディースシニア割適用です!")
 
else:
  print("通常料金です。")
 
# シニア割適用です!
# レディースシニア割適用です!
# ↑入れ子のif文も実行されましたね

if文の入れ子に数の制限はありませんが、入れ子が多すぎると読みにくくなります

  • フローチャートなどでアルゴリズムを整理
  • 必要十分量のif文を使用

するようにしましょう!

おわりに

今回はif文の基本について紹介しました!

if文を使用することで、プログラムの条件分岐が記述できるようになります。

作成できるプログラムの幅が一気に広がりましたね!

5min. python解説動画では、pythonの基本をショートクリップで解説しています!

流し見するだけでpythonをマスターできる動画シリーズを目指しています。