【Python】比較演算子の一覧と基本的な使い方【徹底解説】

Python

Pythonで比較演算子に悩んでいる人「比較演算子について知りたい。比較演算子の種類とそれぞれの使い方について知りたい。」

こういった疑問に答えます。

本記事でわかること

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

【Python】比較演算子の一覧と基本的な使い方【徹底解説】

今回はpythonの比較演算子の種類と、基本的な使い方についての解説をしていきます。比較演算子は、条件式に用いる重要な演算子なので、マスターしましょう。

比較演算子の種類

比較演算子の種類は以下になります。

比較演算子一覧

比較演算子 意味
== 左辺と右辺が等しいかどうか
!= 左辺と右辺が等しくないかどうか
> 左辺が右辺より大きいかどうか
>= 左辺が右辺以上かどうか(等しい場合も含む)
< 左辺が右辺より小さいかどうか
<= 左辺が右辺以下かどうか(等しい場合も含む)
is 2つのオブジェクトが等しいかどうか
is not 2つのオブジェクトが等しくないかどうか
in 左辺が右辺に含まれるかどうか
not in 左辺が右辺に含まれていないかどうか

比較演算子の使い方

ここから、比較演算子の使い方をそれぞれ解説していきたいと思います。今回はbool関数を用いてこれらの比較演算子を理解していきたいと思います。bool関数とは条件式の真偽を返してくれる関数です。

また文字列の比較もこれらの演算子で可能ですがその際には以下のルールを覚えておくと便利です。

ルール

  • アルファベットではaが一番小さくzが最も大きい
  • アルファベットでは小文字の方が大文字よりも大きい
  • 平仮名では「あ」が一番小さく「ん」が一番大きい

比較演算子「==」と「!=」

これら2つの比較演算子は両辺が等しいかどうかを基準とした演算子です。ですが全く意味は逆なので、それ以外のコードが全く同じ場合以下のサンプルコードに示すように、結果も全く逆になります。

a = bool(4 == 4)
print(a)
#True

b = bool('aiueo' == 'aeiuo')
print(b)
#False

a = bool(4 != 4)
print(a)
#False

b = bool('aiueo' != 'aeiuo')
print(b)
#True

比較演算子「>」と「>=」

この演算子は大小関係を決める演算子です(「<」と「<=」についても同様なので、解説は省略しています)。この2つの違いは両辺が等しい場合を含むかどうかです。以下のサンプルコードで確認を行ってください。

a = bool(4 > 4)
print(a)
#False

b = bool('aiueo' > 'aeiuo')    #文字列の大小関係
print(b)
#True

a = bool(4 >= 4)    #等しい場合も含む
print(a)
#True

比較演算子「is」と「is not」

これらの演算子は左右のオブジェクトの同一性が等しいかどうかを識別する演算子になっています。少しわかりにくいと思いますので、説明を加えます。

オブジェクトには全て、番号が与えられています。その番号はid関数で確かめることができます。以下のサンプルコードをご覧ください。

a = 4
print(id(a))
#10914592

li = ['a','i','u']
print(id(li))
#139764358333576

このようにオブジェクトそれぞれは固有の番号を持っており、この番号が等しいかどうかを比較するのが「is」、等しくないかどうかを比較するのが「is not」です。

比較演算子「in」と「not in」

こちらの比較演算子は左辺と右辺の包含関係を識別する演算子です。つまり、左辺のオブジェクトが右辺にあるリストやタプルの中の要素としてあるかどうかを識別するための演算子になります。

サンプルコードを以下に示します。

a = 4
li = [0,1,2,3,4,5]    #リストの場合
print(bool(a in li))
#True
  
print(bool(a not in li))
#False

b = 4
ta = (0,1,2,3,4,5)    #タプルの場合
print(bool(b in ta))
#True
 
print(bool(b not in ta))
#False

まとめ

本記事では比較演算子の種類と、主な使い方についての解説を行いました。もう一度それぞれの比較演算子を載せておきます。

比較演算子 意味
== 左辺と右辺が等しいかどうか
!= 左辺と右辺が等しくないかどうか
> 左辺が右辺より大きいかどうか
>= 左辺が右辺以上かどうか(等しい場合も含む)
< 左辺が右辺より小さいかどうか
<= 左辺が右辺以下かどうか(等しい場合も含む)
is 2つのオブジェクトが等しいかどうか
is not 2つのオブジェクトが等しくないかどうか
in 左辺が右辺に含まれるかどうか
not in 左辺が右辺に含まれていないかどうか

今回の記事はここまでになります。ご覧いただき有り難うございました。