【Python】if文

アイキャッチ画像

この記事ではPythonの条件分岐で使用する「if文」について解説をします。

どんな言語でも、条件分岐は使用します。

目次

条件分岐

Pythonの条件分岐では、if文を使用します。

if文の基本構文

Pythonの条件分岐で使用するif文の構文は以下のようになります。

if 条件式:
    条件式がTrueの場合に実行する処理1
    条件式がTrueの場合に実行する処理2
      ・・・

条件式が、Falseの場合の処理

if 条件式:
    条件式がTrueの場合に実行する処理
else:
    条件式がFalseの場合に実行する処理

条件式はTrueかFalseを返す式を指定します。Trueの場合にはif内の処理が実行され、Falseの場合にはelse内の処理が実行されます。

また、elifを用いて複数の条件を指定することもできます。以下は、elifを用いたif文の構文です。

if 条件式1:
    条件式1がTrueの場合に実行する処理
elif 条件式2:
    条件式2がTrueの場合に実行する処理
else:
    条件式1と条件式2がFalseの場合に実行する処理

elifは、複数の条件を指定することができ、指定した条件が順に評価されます。条件式1がFalseの場合には、条件式2が評価され、Trueの場合にはelif内の処理が実行されます。条件式1と条件式2がFalseの場合にはelse内の処理が実行されます。

複数の条件分岐

Pythonには、他の言語でよく使われるswitch文のような構文はありません。ただし、複数のif文を連続して書くことで、同様の処理を実現することができます。

例えば、以下のように書くことで、複数のif文を使った分岐処理を実現することができます。

x = 2

if x == 1:
    print("xは1です。")
elif x == 2:
    print("xは2です。")
elif x == 3:
    print("xは3です。")
else:
    print("xは1〜3のいずれでもありません。")

このプログラムでは、変数xに2を代入し、if文を連続して使っています。最初のif文で、xが1であるかどうかを判定し、次のelif文でxが2であるかどうかを判定し、以降も同様に3であるかどうかを判定します。最後のelse文は、どの条件にも当てはまらなかった場合の処理を行います。

また、Python 3.10からは、match文という新しい構文が追加され、より直感的な分岐処理が実現されるようになりました。ただし、この構文はまだ新しいため、一般的にはif文を使った方法がよく使われます。

あわせて読みたい
【Python】match文 Python 3.10から導入されたmatch文は、複数のパターンにマッチする処理を実現するための新しい構文です。 match 文は他の言語のswitch文のように使用することができます...

Pythonの分岐条件で使用する比較演算子

Pythonの分岐条件で使用する比較演算子は、以下のようになります。

比較演算子説明
==等しい場合にTrueを返す。
!=等しくない場合にTrueを返す。
>左辺が右辺よりも大きい場合にTrueを返す。
<左辺が右辺よりも小さい場合にTrueを返す。
>=左辺が右辺以上の場合にTrueを返す。
<=左辺が右辺以下の場合にTrueを返す。

これらの比較演算子を組み合わせて条件式を作成することで、if文の分岐条件や、while文やfor文の繰り返し条件を指定することができます。

また、複数の条件式を組み合わせる場合には、論理演算子( and, or, not )を使用することができます。andは論理積、orは論理和、notは否定を表します。これらの論理演算子を用いることで、より複雑な条件式を作成することができます。

以下に、Pythonの分岐条件で使用する比較演算子を使ったサンプルプログラムを示します。

x = 5
y = 10

# 等しい場合にTrueを返す比較演算子
if x == y:
    print("xとyは等しいです。")
else:
    print("xとyは等しくありません。")

# 等しくない場合にTrueを返す比較演算子
if x != y:
    print("xとyは等しくありません。")
else:
    print("xとyは等しいです。")

# 左辺が右辺よりも大きい場合にTrueを返す比較演算子
if x > y:
    print("xはyよりも大きいです。")
else:
    print("xはyよりも小さいか、等しいです。")

# 左辺が右辺よりも小さい場合にTrueを返す比較演算子
if x < y:
    print("xはyよりも小さいです。")
else:
    print("xはyよりも大きいか、等しいです。")

# 左辺が右辺以上の場合にTrueを返す比較演算子
if x >= y:
    print("xはy以上です。")
else:
    print("xはy未満です。")

# 左辺が右辺以下の場合にTrueを返す比較演算子
if x <= y:
    print("xはy以下です。")
else:
    print("xはyよりも大きいです。")

このプログラムでは、変数xに5を、変数yに10を代入し、それぞれの比較演算子を使用して条件分岐を行っています。条件分岐によって、変数xと変数yの大小関係を判定し、その結果を表示しています。

Pythonの分岐条件で使用する論理演算子

Pythonの分岐条件で使用する論理演算子は以下の通りです。

論理演算子説明
and論理積を表します。左右の式が共にTrueの場合にTrueを返します。それ以外の場合はFalseを返します。
or論理和を表します。左右の式のいずれかがTrueの場合にTrueを返します。両方ともFalseの場合はFalseを返します。
not論理否定を表します。式の評価結果を反転します。Trueの場合はFalseを、Falseの場合はTrueを返します。

これらの論理演算子は、複数の条件を組み合わせて、より複雑な条件式を作成する際に使用します。例えば、以下のような条件式が考えられます

if (x > 0) and (y < 10):
    print("xは0より大きく、かつyは10未満です。")

この条件式は、xが0より大きく、かつyが10未満の場合にTrueを返します。左側の条件式がTrueであり、かつ右側の条件式もTrueである場合にのみ、if文の処理が実行されます

以下に、Pythonの分岐条件で使用する論理演算子を使ったサンプルプログラムを示します。

x = 5
y = 10
z = 15

# and演算子を使用した条件分岐
if x < y and y < z:
    print("xはyよりも小さく、かつyはzよりも小さいです。")

# or演算子を使用した条件分岐
if x > y or y > z:
    print("xはyよりも大きい、またはyはzよりも大きい、もしくはその両方です。")

# not演算子を使用した条件分岐
if not x == y:
    print("xとyは等しくありません。")

このプログラムでは、変数xに5を、変数yに10を、変数zに15を代入し、論理演算子を使用して条件分岐を行っています。条件分岐によって、変数x、y、zの大小関係を判定し、その結果を表示しています。

Python 掲載一覧

漢文家族には、下記のPythonの記事があります。

気になるところからチェックしてみてください。

プログラム学習に限界を感じていませんか?

よかったらシェアしてね!
  • URLをコピーしました!
目次