【Python入門】比較演算子の種類と使い方をサンプルコード付きで解説
比較演算子は、左右に置かれた2つの値を比較して、その関係性を判定するための演算子です。「リレーショナル演算子」と呼ばれることもあります。比較の結果は、条件が成り立てば True(真)、成り立たなければ False(偽) として返されます。
以下の表では、変数 a に 10、変数 b に 20 が代入されている場合を例に、各演算子の動作を説明します。
主な比較演算子の一覧
| 番号 | 演算子と説明 | 例 |
|---|---|---|
| 1 | == 左辺と右辺の値が等しい場合に、条件式が True になります。 | (a == b) → False |
| 2 | != 左辺と右辺の値が等しくない場合に、条件式が True になります。 | (a != b) → True |
| 3 | <> 左辺と右辺の値が等しくない場合に True を返す演算子で、!= と同じ働きをします。 ※この演算子は Python 3 で廃止されたため、現在は使用できません。 | (a <> b) → True |
| 4 | > 左辺の値が右辺の値より大きい場合に、条件式が True になります。 | (a > b) → False |
| 5 | < 左辺の値が右辺の値より小さい場合に、条件式が True になります。 | (a < b) → True |
| 6 | >= 左辺の値が右辺の値以上である場合に、条件式が True になります。 | (a >= b) → False |
| 7 | <= 左辺の値が右辺の値以下である場合に、条件式が True になります。 | (a <= b) → True |
サンプルコード
続いて、実際に変数 a に 21、変数 b に 10 を代入し、各比較演算子を if 文の中で使った例を見てみましょう。
#!/usr/bin/python3
a = 21
b = 10
# == : 等しいかどうかを判定
if ( a == b ):
print("Line 1 - a is equal to b")
else:
print("Line 1 - a is not equal to b")
# != : 等しくないかどうかを判定
if ( a != b ):
print("Line 2 - a is not equal to b")
else:
print("Line 2 - a is equal to b")
# < : 左辺が右辺より小さいかどうかを判定
if ( a < b ):
print("Line 3 - a is less than b")
else:
print("Line 3 - a is not less than b")
# > : 左辺が右辺より大きいかどうかを判定
if ( a > b ):
print("Line 4 - a is greater than b")
else:
print("Line 4 - a is not greater than b")
a = 5
b = 20
# <= : 左辺が右辺以下かどうかを判定
if ( a <= b ):
print("Line 5 - a is either less than or equal to b")
else:
print("Line 5 - a is neither less than nor equal to b")
# >= : 左辺が右辺以上かどうかを判定
if ( b >= a ):
print("Line 6 - b is either greater than or equal to a")
else:
print("Line 6 - b is neither greater than nor equal to a")
実行結果
上記のプログラムを実行すると、以下のような結果が出力されます。
Line 1 - a is not equal to b Line 2 - a is not equal to b Line 3 - a is not less than b Line 4 - a is greater than b Line 5 - a is either less than or equal to b Line 6 - b is either greater than or equal to a
まとめ
比較演算子は、if 文や while 文などの条件分岐・繰り返し処理において欠かせない基本要素です。特に注意したいのは、代入を意味する「=」と、等価比較を行う「==」の混同です。この書き間違いは初心者に多いため、意識して使い分けましょう。また、「<>」は Python 2 までの古い構文で、Python 3 では削除されている点にも留意してください。
-
Pythonのオブジェクト比較を徹底解説:「is」と「==」演算子の違い
本記事では、Pythonにおけるオブジェクト比較の方法として、「is」演算子と等価演算子「==」の違いについて詳しく解説します。 この2つの演算子は似ているようで、実はまったく異なる役割を持っています。それぞれの動作の仕組みを正しく理解することは、バグの少ないPythonコードを書く上で非常に重要です。 「==」と「is」の基本的な違い 等価演算子(==)は、渡されたオブジェクトの値が等しいかどうかを判定します。つまり、2つのオブジェクトがメモリ上のどこに格納されていようと、中身の内容が同じであれば「等しい」とみなされます。 一方、is 演算子は、2つのオブジェクトが同一の参照(同じメモリ上の
-
Pythonで比較演算子をオーバーロードする方法をわかりやすく解説
Pythonには、演算子の挙動をカスタマイズ(オーバーロード)するための「マジックメソッド(特殊メソッド)」が用意されています。比較演算子(<、<=、>、>=、==、!=)をオーバーロードしたい場合は、それぞれに対応するマジックメソッド __lt__、__le__、__gt__、__ge__、__eq__、__ne__ をクラス内に定義します。 各比較演算子と対応するマジックメソッド 演算子マジックメソッド <__lt__ <=__le__ >__gt__ >=__ge__ ==__eq__ !=__ne__ サンプルプログラム:di