Pythonの比較演算子

投稿日: 2024年3月17日

Pythonの比較演算子は、二つの値を比較して、その比較が真(True)か偽(False)かを判定するために使用されます。
これらは条件分岐やループなどの制御構造内で特に有用です。以下に、Pythonで使用される主な比較演算子を紹介します。

比較演算子内容
==10 == 10の結果はTrue二つの値が等しいためです。
!=10 != 10の結果はFalse二つの値が等しいため、非等価のテストは偽となります。
<10 < 20の結果はTrue左の値が右の値より小さいためです。
>20 > 10の結果はTrue左の値が右の値より大きいためです。
<=10 <= 10の結果はTrue左の値が右の値以下であるためです。
>=10 >= 5の結果はTrue左の値が右の値以上であるためです。
islist1 is list2の結果はTruelist1とlist2がメモリ上で同じオブジェクトを指しているためです。
is notlist1 is not list3の結果はTruelist1とlist3は内容は同じですが、異なるオブジェクト(メモリ上の異なる場所に存在する)です。

等価(==)

二つの値が等しいかどうかをチェックします。

print(5 == 5)  # True
print(5 == 3)  # False

不等(!=)

二つの値が異なるかどうかをチェックします。

print(5 != 3)  # True
print(5 != 5)  # False

より小さい(<)

左の値が右の値より小さいかどうかをチェックします。

print(3 < 5)  # True
print(5 < 3)  # False

より大きい(>)

左の値が右の値より大きいかどうかをチェックします。

print(5 > 3)  # True
print(3 > 5)  # False

以下(<=)

左の値が右の値以下かどうかをチェックします。

print(3 <= 5)  # True
print(5 <= 5)  # True
print(6 <= 5)  # False

以上(>=)

左の値が右の値以上かどうかをチェックします。

print(5 >= 3)  # True
print(5 >= 5)  # True
print(3 >= 5)  # False

オブジェクトの同一性(is)

二つのオブジェクトが同一(メモリ上で同じオブジェクトである)かどうかをチェックします。

a = [1, 2, 3]
b = a
print(a is b)  # True

c = [1, 2, 3]
print(a is c)  # False, 同じ内容でも異なるオブジェクト

オブジェクトの非同一性(is not)

二つのオブジェクトが異なるオブジェクトかどうかをチェックします。

a = [1, 2, 3]
b = [1, 2, 3]
print(a is not b)  # True

これらの比較演算子を理解し、適切に使用することで、Pythonプログラミングでの条件分岐やデータの比較が容易になります。
特に、==とisの違いには注意が必要です。==は値の等価性をチェックするのに対し、isはオブジェクトの同一性(同じメモリ上のオブジェクトか)をチェックします。

記事