2 つのデータ x, y を比較して、
「 x と y は等しい?」「 x は y より大きい?」「 x は y に含まれる?」
などを判定して、True(真)または False(偽)の2択(真偽値)で答えさせる演算子を 比較演算子 とよび、主に if 文などの条件判定式で用いられます。
比較演算子の種類
比較演算子には次のような種類があります。
比較演算子 | 例 | 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 を返す」というコードです。
print(1 == 1)
True
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 を返すので、「 == 」とは真逆の結果が返ります。
print(1 != 1)
False
print(1 != 2)
True
比較演算子② 大きい? 小さい?
「 > 」「 < 」「 >= 」「 >= 」はそれぞれ、「大きい」「小さい」「以上」「以下」を判定する演算子です。
print(10 >= 20)
False
10 は 20 以上ではないので、False が返っています。
比較演算子③ 含まれる?
「 in 」は文字列やリストのようなシーケンスに対して使われる演算子です。たとえば、Kobato という文字列の中に t が含まれるかどうか判定するコードは次のようになります。
print("t" in "Kobato")
True
もちろん含まれているので、結果は True です。
リストの場合も確認しておきましょう。
kobato_friend = ["真理子", "小春", "沙希"]
x = "小春" in kobato_friend
print(x)
True
リストの要素に "小春" があるので、True が返っています。
Kobato ちゃんが何者なのか気になる人は こばとちゃんのブログ を読んでみましょう。
範囲内にあるかどうかを判定します
Python では一度に複数の比較演算子を使って「 a < b < c 」のような書き方をすることができます。
print(5 < 10 < 20)
True
print(10 < 30 < 20)
False
print(7 == 7 == 7)
True
こうした記法ができるのが Python の特徴で、複雑な条件分枝を扱うアルゴリズムもすっきりしたコードで表現できます。
コメントを書く