比較演算子

比較演算子

比較演算子の種類

 2 つのオブジェクト x, y を比較して、

 「 x と y は等しい?」
 「 x は y より大きい?」
 「 x は y に含まれる?」

などを判定して、True(真)または False(偽)の2択(真偽値)で答えさせる演算子を 比較演算子 (comparison operator) とよび、主に if 文などの条件判定式で用いられます。

 Python の比較演算子 には次のような種類があります。

比較演算子 True を返す条件
== x == y x と y が等しい
!= x != y x と y が等しくない
< x < y x が y より小さい
> x > y x が y より大きい
<= x <= y x が y 以下
>= x >= y x が y 以上
in x in y x が y に含まれている

 

比較演算子「==」

 実際に比較演算子「 == 」を使って戻り値を確認してみます。代入演算子の「 = 」と混同しないようにしてください。「 a = 1 」は「 a に 1 を代入する」というコードですが、「 a == 1 」は「 a が 1 に等しいときに True を返し、等しくないときは False を返す」というコードです。

 「1 と 1 は等しい」の真偽:

print(1 == 1)
True

 「1 と 2 は等しい」の真偽:

print(1 == 2)
False

 「 1 == 1 」は「 1 が 1 に等しいときは True を返し、等しくないときは False を返す」というコードなので、True を返しています。「 1 == 2 」というコードを書くと、1 と 2 は等しくないので、False を返します。

 「 == 」では文字列も比較できます。Python では大文字と小文字を区別するので、"abc" と "ABC" は異なる文字列と判定されます:

print("abc" == "ABC")
False

 「 != 」は被演算子同士が等しくないときに True を返し、等しいときに False を返すので、「 == 」とは真逆の結果が返ります。

 「1 と 1 は等しくない」の真偽:

print(1 != 1)
False

 「1 と 2 は等しくない」の真偽:

print(1 != 2)
True

 

比較演算子「 > 」「 < 」「 >= 」「 >= 」

 「 > 」「 < 」「 >= 」「 >= 」はそれぞれ、「大きい」「小さい」「以上」「以下」を判定する演算子です。

# 「10は20以上である」の真偽
print(10 >= 20)
False

 10 は 20 以上ではないので、False が返っています。
 

比較演算子「in」

 「 in 」は文字列やリストのようなシーケンスに対して使われる演算子です。たとえば、Kobato という文字列の中に t が含まれるかどうか判定するコードは次のようになります。

# 「"Kobato"に"t"が含まれる」の真偽
print("t" in "Kobato")
True

 もちろん含まれているので、結果は True です。
 
 リストの場合も確認しておきましょう。

kobato_friend = ["真理子", "小春", "沙希"]

# 「kobato_friendに"小春"が含まれる」の真偽
x = "小春" in kobato_friend
print(x)
True

 リストの要素に "小春" があるので、True が返っています。
 

入門 Python 3

新品価格
¥3,996から
(2019/8/6 11:45時点)

範囲内にあるかどうかを判定します

 Python では一度に 複数の比較演算子 を使って「 a < b < c 」のような書き方をすることができます。

# 「10は5より大きく20より小さい」の真偽
print(5 < 10 < 20)
True
# 「30は10より大きく20より小さい」の真偽
print(10 < 30 < 20)
False
# 「7と7と7が等しい」の真偽
print(7 == 7 == 7)
True

 こうした記法ができるのが Python の特徴で、複雑な条件分枝を扱うアルゴリズムもすっきりしたコードで表現できます。