【Python】比較演算子「==」と「!=」の意味と使い方

comparison3 eyecatch image

Pythonでの比較演算子==!=についてです。比較演算子とは演算子の左側と右側を比べるものになります。この比較演算子ではTrueFalseの値しか返されません。

他の比較演算子は以下で紹介しています。

目次

比較演算子==の意味と使い方

演算子==は、==の左側の値と右側の値が同じであればTrueを、同じでなければFalseを返します。

演算子の左側と右側が同じ場合(数値)

次のような場合、22と同じなのでTrueを返します。

Python
print(2 == 2)

'''
【出力結果】
True

演算子の左側と右側が異なる場合(数値)

次のような場合、32と同じでないのでFalseが返します。

Python
print(3 == 2)

'''
【出力結果】
False

==を用いて文字列を比較する場合

比較演算子==を用いて文字列を比較する事もできます。文字の大小なんて比較できるの?となりそうですが、実際には文字の大小を比較しているのではなく、各文字に割り振られているUnicodeコードポイントという数字の大小を比較しています。
Unicodeコードポイントはord()関数を用いる事によって確認することができます。

Unicodeコードポイントについて(鋭意作成中です)

演算子の左側と右側が同じ場合(文字列)

次のような場合、左側と右側が同じなのでTrueを返します。

Python
print("Z" == "z")
print(ord("z"))

'''
【出力結果】
True
122

演算子の左側と右側が異なる場合(文字列)

次のような場合、演算子の左側と右側のUnicodeコードポイントは、それぞれz122Z90で、演算子の左側と右側で同じでないのでFalseを返します。大文字と小文字でもUnicodeコードポイントの値は変わるので、その点に注意です。

Python
print("z" == "Z")
print(ord("z"))
print(ord("Z"))

'''
【出力結果】
False
122
90

比較演算子!=の意味と使い方

演算子!=は、演算子の左側と右側で値が異なる場合はTrue、同じ場合はFalseを返します。

演算子の左側と右側で異なる場合(数値)

次のような場合、演算子の左側と右側で数値が異なる(32は同一でない)ので、Trueを返します。

Python
print(3 != 2)

'''
【出力結果】
True

演算子の左側と右側で同じ場合(数値)

次のような場合、演算子の左側と右側で数値が同じなので、Falseを返します。

Python
print(2 != 2)

'''
【出力結果】
False

!=を用いて文字列を比較する場合

比較演算子!=を用いて文字列を比較する事もできます。

演算子の左側と右側が同じ場合(文字列)

次のような場合、演算子の左側と右側のUnicodeコードポイントはそれぞれ「12354」、「12356」であり、演算子の左側と右側で異なるので、Trueを返します。

Python
print("あ" != "い")
print(ord("あ"))
print(ord("い"))

'''
【出力結果】
True
12354
12356

演算子の左側と右側で同じ場合(文字列)

次のような場合、演算子の左側bと右側bは同じなので、Falseが返ります。

Python
print("b" != "b")
print(ord("b"))

'''
【出力結果】
False
98

比較演算子と変数を組み合わせた使い方

これまで、数値もしくは文字列の比較のみを紹介してきましたが、変数を比較することもできます。

比較演算子==を用いた変数の比較(数値)

次のような場合、変数x、変数yと変数zの値がそれぞれ10910なので、10 == 9x == y)はFalse10 == 10x == z)はTrueが返ります。

Python
x = 10
y = 9
z = 10
print(x == y)
print(x == z)

'''
【出力結果】
False
True

比較演算子==を用いた変数の比較(文字列)

次のような場合、変数xと変数の文字列がhensuhensuuhensuの部分まで同じなので、変数xの六文字目の「文字がない」部分と変数yの最後のuを比較する事になります。その為、x == yFalsex == zTrueが返ります。

Python
x = "hensu"
y = "hensuu"
z = "hensu"
print(x == y)
print(x == z)

'''
【出力結果】
False
True

比較演算子!=を用いた変数の比較(数値)

次のような場合、それぞれ10910なので、10 != 9x != y)はTrue10 != 10x != z)はFalseが返ります。

Python
x = 10
y = 9
z = 10
print(x != y)
print(x != z)

'''
【出力結果】
True
False

比較演算子!=を用いた変数の比較(文字列)

次のような場合、変数xと変数の文字列がhensuhensuuhensuの部分まで同じなので、変数xの6文字目の「何もない」部分と変数yの最後のuを比較する事になります。その為、x != yTruex != zFalseが返ります。

Python
x = "hensu"
y = "hensuu"
z = "hensu"
print(x != y)
print(x != z)

'''
【出力結果】
True
False

まとめ

==!=以外にも比較演算子の種類、意味、例、評価結果は次のようになります。

演算子意味評価結果
より大きい100 > 10True
より小さい100 < 10False
>=以上2 >= 2True
<=以下1 <= 4True
==等価(同じ値か)6 == 9False
!=非等価(違う値か)3 != 2True
(独学プログラマー P.34 日経BP社より)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次