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をマスターできる動画シリーズを目指しています。