【Python】比較演算子>と<の意味と使い方

2 > 3 eyecatch image

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

目次

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

演算子である>の左側と右側を比較して、左側の方が大きければTrueを、左側が大きくなければFalseを返します。

演算子の左側が右側より大きい場合

Python
print(100 > 10)

'''
【出力結果】
True

10010より大きいので、Trueを返します。

演算子の左側が右側より大きくない場合

Python
print(1 > 2)

'''
【出力結果】
True

12より小さいので、Falseを返します。

演算子の左側と右側が同じ場合

Python
print(3 > 3)

'''
【出力結果】
False

なんで?となりそうですが、冒頭でも記載した通り、>の左側の方が右側より大きければTrue>の左側の方が右側より大きくなければFalseを返します。上記の場合、33より大きくないのでFalseになります。

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

少し変わりますが、文字列を比較する事もできます。

Python
print("a" > "b")

'''
【出力結果】
False

文字の大小なんて比較できるの?となりそうですが、実際には文字の大小を比較しているのではなく、各文字に割り振られているUnicodeコードポイントという数字の大小を比較しています。
Unicodeコードポイントについて(鋭意作成中です)

また各文字のUnicodeコードポイントはPython3ではord()関数を用いて確認することができます。

Python
print(ord("a"))
print(ord("b"))

'''
【出力結果】
97
98

a=97b=98なので、97(a) >98(b)となるので、Falseが返ります。

1文字目が同じ場合2文字目で、2文字目が同じ場合3文字目で…と順番に比較されていきます。

Python
print("abc" > "abd")
print(ord("c"))
print(ord("d"))

'''
【出力結果】
False
99
100

演算子の左側と右側は2文字目まで同じなので、3文字目(左側はc、右側はd)で比較します。cのUnicodeコードポイントは99dのUnicodeコードポイントは100なので、99(c)> 100(d)なのでFalseが返ります。

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

こちらは先程の>と大小が逆になり、<の左側の方が右側より小さければTrue、左側の方が右側より小さくなければFalseを返します。

演算子の左側が右側より小さい場合

以下の例では、56より小さいので、Trueを返します。

Python
print(5 < 6)

'''
【出力結果】
True

演算子の左側が右側より小さくない場合

以下の例では、65より小さくないので、Falseを返します。

Python
print(6 < 5)

'''
【出力結果】
False

演算子の左側と右側が同じ場合

55より小さくないので、Falseを返します。

Python
print(5 < 5)

'''
【出力結果】
False

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

<の比較演算子でも文字列が扱えます。

Python
print("a" < "b")
print("abc" < "abd")
print(ord("a"))
print(ord("b"))
print(ord("c"))
print(ord("d"))

'''
【出力結果】
True
True
97
98
99
100

abcdのUnicodeコードポイントがそれぞれ979899100なので97(a) <98(b)、99(c)<100(d)(abまでは一緒なのでcdで比較する。)となり、”a”<”b”も、”abc”<”abd”Trueになります。

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

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

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

次のような例の場合、変数xと変数yの値がそれぞれ109なので、10(x)>9(y)はTrue9(y)>10(x)はFalseが返ります。

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

'''
【出力結果】
True
False

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

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

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

'''
【出力結果】
False
True

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

前述の比較演算子>と考え方は同じです。比較演算子>では、左側が右側より大きいでしたが、比較演算子<では左側が右側より小さいに変わるだけです。変数xと変数yの値がそれぞれ109なので、10(x)<9(y)はFalse9(y)<10(x)はTrueが返ります。

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

'''
【出力結果】
False
True

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

変数xと変数の文字列がhensuhensuuhensuの部分まで同じなので、変数xの6文字目の「何もない」部分と変数yの最後のuを比較する事になります。その為、x < yTruey < xFalseが返ります。

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

'''
【出力結果】
True
False

まとめ

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

演算子意味評価結果
>より大きい100 > 10True
<より小さい100 < 10False
>=以上2 >= 2True
<=以下1 <= 4True
==等価(同じ値か)6 == 9False
!=非等価(違う値か)3 != 2True
(独学プログラマー P.34 日経BP社発行より)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次