[Python入門講座] 7.if文について

7.if文について Python

今回は選択を行う制御構文について解説します。

Pythonでは選択の制御構文としてif文が存在します。

以下で具体的な使い方を学びましょう。

If文とは

if文とは条件を満たしたときに、その下の文を実行させる制御構文です。
(C, C++, java,..などほとんどの言語にif文は存在します。)

if文の構造

if "条件式":
    "条件を満たしたときに実行される文1"
    "条件を満たしたときに実行される文2"
"if文の処理が終わった後に実行される文"

if文の内側の文はインデント(空白4つ)を付けます。
このインデントあれば、条件を満たしたときのみ実行されるようにできます。

また、上の式において「if “条件式”:」の行とインデントされた行全体を節と呼びます。

if文の使用例

以下は卵が120円未満のときに教えてくれるプログラムです。

egg = 100

if egg < 120:
    print("卵が120円未満で販売されています!!")

条件式の書き方

条件式比較演算子を用いてその条件が正しいか(真)か間違っているか(偽)を示します。

データ型としてはboolに分類されます。

具体例を以下の式をで確認しましょう。

1 < 2
20 < 15

上の式は2が1より大きいため正しいですよね。
一方、下の式は15より20の方が大きいため間違っています。

よって、式1は真であり、式2は偽であると言えます。

if文はこの条件式が真のとき、その下の文(ステート)を実行します。

比較演算子の一覧

条件式で用いる比較演算子は一部プログラミング独特の表記があります。

意味は簡単ですのでここで確認しましょう。

演算子意味使用例
==等しい10 == 10
!=等しくない2 != 3
<左辺より右辺が大きい2 < 4
>左辺より右辺が小さい4 > 2
<=右辺が左辺と同じか大きい1 <=1, 1 <= 2
>=右辺が左辺と同じか小さい1 >= 1, 2>= 1

elif節でさらに判定

elif節を使うと上の節の条件式が偽だったとき、別の条件判定をすることができます。
また、elif節はif文かelif節の下にしか記述できません。

elif節の構造

if "条件式1":
    "条件を満たしたときに実行される文"
elif "条件式2":
    "条件式2を満たしたときに実行される文"
elif "条件式3":
    "条件式3を満たしたときに実行される文"

これはif節と2つのelif節で構成されていますが、ある節の条件式が真のとき、その下の節は実行されません。

elif節の使用例

以下は卵が120円未満か120円以上130円未満のときを教えてくれるプログラムです。

egg = 100

if egg < 120:
    print("卵が120円未満で販売されています!!")

elif egg < 130:
   print("卵が120円以上130円未満で販売されています!!")

ポイント
「卵が120円未満で販売されています!!」と「卵が120円以上130円未満で販売されています!!」の両方が出力されることはありません。

else節でそれ以外を判定

else節を使うとif文とelif文の条件式がすべて偽だったときに文を実行できます。
if文かelif文の下にしか記述できません。

また、一つのif文に対してelse節は一つしか記述できません。

else節の構造

if "条件式":
    "条件を満たしたときに実行される文"
else:
    "if文が実行されなかったときに実行される文"

else節の上にあるすべての節の条件式が偽がだった場合にelse節の文は実行されます。

else節の使用例

egg = 100

if egg < 120:
    print("卵が120円未満で販売されています!!")

elif egg < 130:
   print("卵が120円以上130円未満で販売されています!!")

else:
   print("卵が130円以上で販売されています!!")

まとめ

今回はif文について解説しました。

if文は条件分岐を記述する重要な制御構文ですので、しっかり理解しましょう。