単純条件文

条件分岐は、プログラムが特定の条件(「もし〜なら」)に基づいて異なる処理を行うための非常に重要な仕組みです。Pythonのif文は、この条件分岐を実現するために使用されます。その中でも単純条件文は、最も基本的なif文の形であり、指定した条件が正しい(真:True)と判定された場合にのみ、特定の処理を実行します。この記事では、if文の基本構文と、Pythonならではの記述ルールについて分かりやすく解説します。
if文の基本構文
Pythonのif文は、次のような構文で記述されます。条件式の末尾にコロン : を忘れないように記述するのが大切なポイントです。
if 条件式:
# 条件が真(True)のときだけ実行される処理
実行する処理
以下は、変数の値が正の数(0より大きい)であるかをチェックする基本的なif文の具体的な例です。
# if文の具体的な例
number = 5
if number > 0:
print("正の数です") # 出力: 正の数です
この例では、number の中身が 5 なので number > 0 という条件が満たされ(Trueとなり)、「正の数です」というメッセージが表示されます。もし number = -3 のように条件を満たさない(偽:False)場合は、ブロック内の処理は丸ごと無視され、何も表示されません。
比較演算子を使った条件の作り方
Pythonのif文の「条件式」の部分では、2つの値を比べるための比較演算子を使用します。実務でも毎日のように使う主要な演算子をまとめました。
| 演算子 | 意味(条件が成立するケース) | 具体的な記述例 |
|---|---|---|
== |
左辺と右辺が等しいとき | if x == 10:(xが10なら) |
!= |
左辺と右辺が等しくないとき | if x != 10:(xが10以外なら) |
> |
左辺が右辺より大きいとき(右辺は含まない) | if x > 5:(xが6以上なら) |
< |
左辺が右辺より小さいとき(右辺は含まない) | if x < 5:(xが4以下なら) |
>= |
左辺が右辺以上のとき(右辺も含む) | if x >= 5:(xが5以上なら) |
<= |
左辺が右辺以下のとき(右辺も含む) | if x <= 5:(xが5以下なら) |
【初心者の罠】数学の授業と同じ感覚で、等しいの条件を if x = 10: とイコール1つで書いてしまうミスが多発します。Pythonにおいてイコール1つ(=)は「変数への代入」を意味するため、比較するときは必ずイコールを2つ(==)並べると覚えておきましょう。
Python独自の絶対ルール:インデント(字下げ)
Pythonのif文を使用する際には、インデント(行頭の空白)に細心の注意を払う必要があります。他のプログラミング言語のような中括弧 {} を使わない代わりに、Pythonは「ここからここまでがif文の処理の中身です」という区切りをインデントの有無で判断しているからです。
条件が満たされたときに実行したいコードの行頭には、半角スペース4つ(またはTabキー1回)の空白を必ず空けなければなりません。
# インデントの誤り(エラーになる例)
number = 5
if number > 0:
print("正の数です") # 行頭にスペースがないためエラーが発生します
上記のようにインデントを忘れたコードを実行すると、Pythonの実行エンジンは IndentationError: expected an indented block というエラーを吐き出して強制停止してしまいます。if文の次の行は、必ず右に一段押し込んで書く癖をつけましょう。
まとめ
Pythonのif文を使用することで、状況やデータの内容に応じてプログラムの動きを柔軟に変えられるようになります。今回学んだ「単純条件文」は、すべての条件分岐の原点です。末尾のコロン : を忘れないこと、比較の際は == を使うこと、そして何よりも条件の中身は「半角スペース4つ分」インデントさせること、というPythonの基本ルールをしっかりと意識しながら、様々な条件分岐を組み立てていきましょう。