【Python】if文(条件分岐)を具体例を用いて初心者向けに解説

当サイトでは一部リンクに広告が含まれています
アイキャッチ

コンピュータは、与えられた命令をそのまま実行します。しかし、特定の条件下でのみ命令を実行したい場合、どうすればよいでしょうか。そこで活躍するのが「if文」です。

「if」は英語で「もし〜ならば」という意味です。
コンピュータは「もし〜ならば」の条件に基づいて、特定の動作をします。この考え方を理解することで、プログラムがより柔軟になります。

この記事では、Pythonのif文の基本から、より高度な使い方までを学ぶことができます。

目次

Python if文の基本

if文」は、条件が満たされているかどうかを確認し、満たされている場合のみ特定の処理を行う命令です。

if文の構造と使い方

基本的な構造は以下のようになります。

if 条件式:
    処理

例を見てみましょう。

x = 10

if x > 5:
    print("xは5より大きい")

このプログラムでは、xが5より大きい場合、”xは5より大きい”と出力されます。

条件式の基本

条件式は、真か偽かを判断する式です。
「x > 5」のように、比較演算子を使用して条件を設定します。

演算子の種類と使用法

Pythonには様々な演算子があります。以下は主なものです。

等しい

x == y

以上・以下

x >= y
x <= y

より大きい・より小さい

x > y
x < y

これらの演算子を使用して、条件式を組み立てることができます。

複数条件の取り扱い

一つのif文で複数の条件を取り扱いたい場合があります。それには「and」や「or」を使用します。

and演算子での条件結合

「and」はすべての条件が真である場合に真となる演算子です。

x = 10
y = 5

if x > 5 and y < 10:
    print("両方の条件が真")

or演算子での条件結合

「or」はいずれかの条件が真である場合に真となる演算子です。

x = 3
y = 12

if x < 5 or y < 10:
    print("どちらかの条件が真")

1行でのif文の書き方

Pythonには、if文を1行で書く方法もあります。これにより、コードをシンプルに保つことができます。

1行での基本的な書き方

x = 10
message = "xは5より大きい" if x > 5 else "xは5以下"
print(message)

1行でのelseを使った書き方

x = 4
print("xは5より大きい") if x > 5 else print("xは5以下")

elseによる分岐処理

else」は、if文の条件が満たされなかった場合の処理を記述するための命令です。

基本的なelseの使い方

x = 4

if x > 5:
    print("xは5より大きい")
else:
    print("xは5以下")

elseで何もしない場合の書き方

場合によっては、elseの中で特に何も行いたくない場合があります。その際は「pass」を使用します。

x = 10

if x > 5:
    print("xは5より大きい")
else:
    pass

elseで何もしない意義と活用法

「else」で特に処理を行わない場合、コードの読み手にその意図を明確に伝えることができます。
例えば、将来的に拡張する可能性がある部分や、意図的に何も処理を行わないことを示したい場合などに使用します。

x = 10

if x > 5:
    print("xは5より大きい")
else:
    # ここに何も書かないと、エラーになる
    pass

elifによる分岐処理

elif」は、if文の条件が満たされなかった場合に、さらに別の条件を設定するための命令です。

基本的なelifの使い方

x = 10

if x > 5:
    print("xは5より大きい")
elif x > 3:
    print("xは3より大きい")
else:
    print("xは3以下")

elifで何もしない場合の書き方

elifの中で特に何も行わない場合は、elseと同様に「pass」を使用します。

x = 10

if x > 5:
    print("xは5より大きい")
elif x > 3:
    pass
else:
    print("xは3以下")

演算子の種類と使用法

Pythonには多くの演算子がありますが、条件判定に使われる基本的なものを中心に見ていきましょう。

等しい、等しくない

Pythonで値が等しいかどうかを判定する場合、== を使用します。逆に、等しくない場合は != を使用します。

x = 5

if x == 5:
    print("xは5と等しい")
if x != 10:
    print("xは10と等しくない")

大きい、小さい、以上、以下

数値の比較を行う場合、以下の演算子を使用します。

  • > : より大きい
  • < : より小さい
  • >=: 以上
  • <=: 以下
y = 7

if y > 5:
    print("yは5より大きい")
if y <= 10:
    print("yは10以下")

複数条件の組み合わせ: and, or

and はすべての条件が真の場合に真となる演算子です。一方、or はいずれかの条件が真の場合に真となります。

x = 10
y = 5

if x > 5 and y < 10:
    print("xは5より大きく、yは10より小さい")
if x == 10 or y == 3:
    print("xは10、またはyは3")

1行での条件記述

Pythonでは、簡単な条件判定を1行で記述することも可能です。

message = "Hello" if x == 10 else "Goodbye"
print(message)  # この場合、"Hello" が出力されます。

何もしない条件: pass

プログラムの中で条件を満たす場合や満たさない場合に何もしない、という場面があります。その場合、pass を使用します。

if x == 5:
    pass
else:
    print("xは5ではない")

演算子のまとめ

以下のテーブルは、今まで学んだ基本的な演算子を一覧にしたものです。

演算子説明
==等しい
!=等しくない
>より大きい
<より小さい
>=以上
<=以下
and両方の条件
orいずれかの条件

条件判定は、Pythonプログラムにおける基本的な要素の一つです。適切な演算子を使って、意図した通りの動作をプログラムに実装することが重要です。

条件式の複雑な組み合わせ

条件判定が複雑になる場合もあります。複数の条件を組み合わせたり、入れ子にしたりして、更に高度な判断を行うことが可能です。

複数条件の組み合わせ

age = 25
country = "Japan"

if age > 18 and (country == "Japan" or country == "USA"):
    print("年齢は18歳以上で、国籍は日本またはアメリカ")

入れ子の条件式

x = 10
y = 5

if x > 5:
    if y < 10:
        print("xは5より大きく、yは10より小さい")

このような複雑な条件を効果的に利用することで、プログラムの動作をより精緻にコントロールすることができます。

elseを使った条件分岐

Pythonでは、if文と一緒にelseを使うことで、条件を満たす場合と満たさない場合の2つのケースで異なる動作をさせることができます。

elseを使った基本的な例

z = 20

if z == 10:
    print("zは10")
else:
    print("zは10ではない")

else ifの略であるelifを使った例

score = 85

if score >= 90:
    print("Aランク")
elif score >= 70:
    print("Bランク")
else:
    print("Cランク以下")

elif を使うことで、3つ以上の条件を順番に評価することができます。これにより、より詳細な分岐を実現することが可能です。

まとめ

Pythonの if 文は、条件に基づいてプログラムの動作を変える基本的な構造です。

条件式演算子複数条件の組み合わせandorなどのキーワード、そしてelseによる分岐など、さまざまな要素をうまく組み合わせることで、豊富なプログラミングの表現が可能になります。

目次