Pythonの予約語「if」の解説
ifとは何か
ifは、Pythonにおいて条件分岐を行うために使用される予約語です。if
文は、指定された条件がTrue
であれば、その後に続くブロックのコードが実行されます。条件がFalse
の場合、そのブロックはスキップされます。条件に基づいて処理の流れを制御するための基本的な構文です。
if文の基本的な構文
以下は、if
文の基本的な構文です。条件式がTrue
の場合に、if
ブロック内のコードが実行されます。
x = 10
if x > 5:
print("xは5より大きい")
このコードでは、x
が5より大きいため、「xは5より大きい」というメッセージが出力されます。条件式x > 5
がTrue
だからです。
if-else文
if
文とelse
文を組み合わせることで、条件がFalse
の場合に別の処理を実行できます。
x = 3
if x > 5:
print("xは5より大きい")
else:
print("xは5以下です")
この例では、x
が5以下のため、else
ブロックが実行され、「xは5以下です」が出力されます。if
の条件がFalse
であるため、else
ブロックが選択されます。
if-elif-else文
if
文にelif
(else ifの略)を追加すると、複数の条件を順番に評価し、最初にTrue
となる条件の処理が実行されます。elif
は任意の回数使うことができます。
x = 7
if x > 10:
print("xは10より大きい")
elif x > 5:
print("xは5より大きいが、10以下です")
else:
print("xは5以下です")
この例では、x
が7であるため、最初のif
条件はFalse
ですが、次のelif
条件がTrue
となり、「xは5より大きいが、10以下です」が出力されます。
ネストされたif文
Pythonでは、if
文を他のif
文の内部に書くことができます。これにより、複雑な条件分岐を実現できます。次の例では、二重のif
文を使っています。
x = 10
if x > 5:
print("xは5より大きい")
if x > 8:
print("xは8より大きい")
この例では、x
が5より大きいときに、さらに8より大きいかどうかがチェックされます。x
が10なので、両方の条件がTrue
となり、2つのメッセージが出力されます。
if文での論理演算
if
文の条件式では、and
やor
などの論理演算子を使って、複数の条件を組み合わせることができます。
x = 7
y = 12
if x > 5 and y < 15:
print("xは5より大きく、yは15未満です")
このコードでは、x
が5より大きく、かつy
が15未満であるため、両方の条件がTrue
となり、「xは5より大きく、yは15未満です」というメッセージが出力されます。
if文の流れ
以下は、if
-elif
-else
文の処理の流れを表にしたものです。
条件の状態 | 実行されるブロック |
---|---|
if の条件がTrue |
if ブロックが実行され、残りの条件は無視される |
if がFalse でelif がTrue |
elif ブロックが実行され、残りの条件は無視される |
すべてのif とelif がFalse |
else ブロックが実行される |
if文の注意点
- 条件式では、値そのものが
True
かFalse
かも評価できます。例えば、0
や空のリストはFalse
として扱われます。 - インデントは必須です。
if
文に続くコードは、同じインデントレベルで記述する必要があります。 - 複雑な条件分岐を避けるため、論理演算子を上手に使うことが推奨されます。
まとめと注意点
if
文は、条件に基づいて処理を分岐させるための基本的な構文です。else
やelif
を使うことで、より複雑な条件分岐が可能になります。- 条件式では、論理演算子
and
やor
を使って複数の条件を組み合わせることができます。 - インデントのルールに注意し、
if
文内のコードが正しくインデントされていることを確認しましょう。