【Python】比較演算子による等価や大小の比較(==、>、<、>=、=<、in、in not)

2020.11.07 /

【Python】比較演算子による等価や大小の比較(==、>、<、>=、=<、in、in not)

本記事ではPythonにおける比較演算子(==、>、<、>=、=<、in、in not)の使い方を詳しく解説していきます。

比較演算子は2つの値の比較(等価大小)に使います。

比較演算子はプログラムを作成する上で避けては通れない道です。
中途半端な理解ではよいプログラムを書くことはできません。

本記事で比較演算子について理解を深めてください。

比較演算子とは

プログラムを作成する上で、2つの値を比較する場合には比較演算子と呼ばれる記号を使用します。

比較演算子を使って2つの値を比較すると、TrueもしくはFalseのブール値を返します。
日本語で言うと真または偽を返すということです。

比較には大きく分けて3種類あります。

  1. 等しいか等しくないか(等価比較)
  2. 大きいか小さいか(大小比較)
  3. 要素が含まれるか含まれないか

これら比較は、if文やfor文、while文での処理(分岐や反複)で使用されます。
そのため比較演算子はPython学習において避けられない項目です。

比較演算子一覧

比較演算子には様々な種類があります。
以下に比較演算子の一覧を示します。

演算子 意味
== 等しい
!= 等しくない
< より小さい
> より大きい
<= 以下
>= 以上
in 含まれる
not in 含まれない

比較①:等しいか等しくないか

2つの値が等しいか等しくないかを評価するために「==」または「!=」の比較演算子を使用します。

>>> 54 == 54
True
>>> 54 == 45
False
>>> 54 != 54
False
>>> 54 != 45
True
>>> 'OFFICE' == 'OFFICE'
True
>>> 'OFFICE' == 'FiveFour'
False

上記のように比較した2つの値が等しいか等しくないかで、TrueまたはFalseを返します。

==は両辺が等しければTrueを返し、両辺が等しくないとFalseを返します。
逆に!=は両辺が等しければFalseを返し、両辺が等しくないとTrueを返します。

整数と浮動小数点数の比較

整数と浮動小数点数の比較も問題なくできます。

>>> 54 == 54.0
True
>>> 54 == 54.1
False

異なるデータ型の比較

比較演算子はどのデータ型でも使用することはできますが、両辺が異なるデータ型では必ずFalseを返します。

>>> 54 == '54'
False

上記では左辺がint型、右辺がstr型なのでFalseが返されています。

==と=は似ていて全く違う

等号記号=が一つか二つかで全く異なる性質を持ちます。

小学校、中学校の授業では等号記号一つのイコールをよく使用していたと思います。
しかしプログラミングの世界では少し性質が異なるのです。

等号記号が一つの場合、代入演算子と呼ばれます。
等号記号が二つの場合、比較演算子と呼ばれます。

性質はそれぞれの以下の通りです。

  • 代入演算子=は、左辺の変数に右辺の値を代入する
  • 比較演算子==は、両辺が等しいか判定し、ブール値を返す

比較②:大小

2つの値の大小を評価するために「<」、「>」、「<=」、「>=」の比較演算子を使用します。

>>> 54 > 45
True
>>> 54 < 45
False
>>> 54 >= 54
True

ここで注意なのが、大小の評価で使用する比較演算子は、両辺が同じデータ型である必要があります。

>>> 54 > ‘54’
TypeError: '>' not supported between instances of 'int' and 'str'

比較③:要素が含まれるか

リストの中に特定の要素が含まれるかを判別するには「in」または「not in」の演算子を使用します。

>>> 54 in [45, 54]
True
>>> 'office' in ['fivefour', 'office']
True

他の演算子と同様にTrueまたはFalseのブール値が返ってきます。
リストに要素が含まれていればTrueを返します。

まとめ

以下に必ず覚えておくべきポイントを記します。

今回のポイント

等しいかの判定では「==」または「!=」の比較演算子

大小の判定では「<」、「>」、「<=」、「>=」の比較演算子

リスト内に要素が含まれているかは「in」または「not in」

==と=は似ていて全く違う

上記のポイントを押さえてPythonでプログラムを作成してください。