Python
 Computer >> コンピューター >  >> プログラミング >> Python

【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 では削除されている点にも留意してください。

  1. Pythonのオブジェクト比較を徹底解説:「is」と「==」演算子の違い

    本記事では、Pythonにおけるオブジェクト比較の方法として、「is」演算子と等価演算子「==」の違いについて詳しく解説します。 この2つの演算子は似ているようで、実はまったく異なる役割を持っています。それぞれの動作の仕組みを正しく理解することは、バグの少ないPythonコードを書く上で非常に重要です。 「==」と「is」の基本的な違い 等価演算子(==)は、渡されたオブジェクトの値が等しいかどうかを判定します。つまり、2つのオブジェクトがメモリ上のどこに格納されていようと、中身の内容が同じであれば「等しい」とみなされます。 一方、is 演算子は、2つのオブジェクトが同一の参照(同じメモリ上の

  2. Pythonで比較演算子をオーバーロードする方法をわかりやすく解説

    Pythonには、演算子の挙動をカスタマイズ(オーバーロード)するための「マジックメソッド(特殊メソッド)」が用意されています。比較演算子(<、<=、>、>=、==、!=)をオーバーロードしたい場合は、それぞれに対応するマジックメソッド __lt__、__le__、__gt__、__ge__、__eq__、__ne__ をクラス内に定義します。 各比較演算子と対応するマジックメソッド 演算子マジックメソッド <__lt__ <=__le__ >__gt__ >=__ge__ ==__eq__ !=__ne__ サンプルプログラム:di