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


比較演算子==の意味と使い方
演算子==は、==の左側の値と右側の値が同じであればTrueを、同じでなければFalseを返します。
演算子の左側と右側が同じ場合(数値)
次のような場合、2は2と同じなのでTrueを返します。
print(2 == 2)
'''
【出力結果】
True演算子の左側と右側が異なる場合(数値)
次のような場合、3は2と同じでないのでFalseが返します。
print(3 == 2)
'''
【出力結果】
False==を用いて文字列を比較する場合
比較演算子==を用いて文字列を比較する事もできます。文字の大小なんて比較できるの?となりそうですが、実際には文字の大小を比較しているのではなく、各文字に割り振られているUnicodeコードポイントという数字の大小を比較しています。
Unicodeコードポイントはord()関数を用いる事によって確認することができます。
Unicodeコードポイントについて(鋭意作成中です)
演算子の左側と右側が同じ場合(文字列)
次のような場合、左側と右側が同じなのでTrueを返します。
print("Z" == "z")
print(ord("z"))
'''
【出力結果】
True
122演算子の左側と右側が異なる場合(文字列)
次のような場合、演算子の左側と右側のUnicodeコードポイントは、それぞれz:122、Z:90で、演算子の左側と右側で同じでないのでFalseを返します。大文字と小文字でもUnicodeコードポイントの値は変わるので、その点に注意です。
print("z" == "Z")
print(ord("z"))
print(ord("Z"))
'''
【出力結果】
False
122
90比較演算子!=の意味と使い方
演算子!=は、演算子の左側と右側で値が異なる場合はTrue、同じ場合はFalseを返します。
演算子の左側と右側で異なる場合(数値)
次のような場合、演算子の左側と右側で数値が異なる(3と2は同一でない)ので、Trueを返します。
print(3 != 2)
'''
【出力結果】
True演算子の左側と右側で同じ場合(数値)
次のような場合、演算子の左側と右側で数値が同じなので、Falseを返します。
print(2 != 2)
'''
【出力結果】
False!=を用いて文字列を比較する場合
比較演算子!=を用いて文字列を比較する事もできます。
演算子の左側と右側が同じ場合(文字列)
次のような場合、演算子の左側と右側のUnicodeコードポイントはそれぞれ「あ:12354」、「い:12356」であり、演算子の左側と右側で異なるので、Trueを返します。
print("あ" != "い")
print(ord("あ"))
print(ord("い"))
'''
【出力結果】
True
12354
12356演算子の左側と右側で同じ場合(文字列)
次のような場合、演算子の左側bと右側bは同じなので、Falseが返ります。
print("b" != "b")
print(ord("b"))
'''
【出力結果】
False
98比較演算子と変数を組み合わせた使い方
これまで、数値もしくは文字列の比較のみを紹介してきましたが、変数を比較することもできます。
比較演算子==を用いた変数の比較(数値)
次のような場合、変数x、変数yと変数zの値がそれぞれ10、9と10なので、10 == 9(x == y)はFalse、10 == 10(x == z)はTrueが返ります。
x = 10
y = 9
z = 10
print(x == y)
print(x == z)
'''
【出力結果】
False
True比較演算子==を用いた変数の比較(文字列)
次のような場合、変数xと変数yの文字列がhensuとhensuuでhensuの部分まで同じなので、変数xの六文字目の「文字がない」部分と変数yの最後のuを比較する事になります。その為、x == yはFalse、x == zはTrueが返ります。
x = "hensu"
y = "hensuu"
z = "hensu"
print(x == y)
print(x == z)
'''
【出力結果】
False
True比較演算子!=を用いた変数の比較(数値)
次のような場合、それぞれ10、9と10なので、10 != 9(x != y)はTrue、10 != 10(x != z)はFalseが返ります。
x = 10
y = 9
z = 10
print(x != y)
print(x != z)
'''
【出力結果】
True
False比較演算子!=を用いた変数の比較(文字列)
次のような場合、変数xと変数yの文字列がhensuとhensuuでhensuの部分まで同じなので、変数xの6文字目の「何もない」部分と変数yの最後のuを比較する事になります。その為、x != yはTrue、x != zはFalseが返ります。
x = "hensu"
y = "hensuu"
z = "hensu"
print(x != y)
print(x != z)
'''
【出力結果】
True
Falseまとめ
==と!=以外にも比較演算子の種類、意味、例、評価結果は次のようになります。
演算子 意味 例 評価結果 > より大きい 100 > 10 True < より小さい 100 < 10 False >= 以上 2 >= 2 True <= 以下 1 <= 4 True == 等価(同じ値か) 6 == 9 False != 非等価(違う値か) 3 != 2 True (独学プログラマー P.34 日経BP社より)

コメント