今回は、比較演算子について解説します。
イコール
算数や数学でイコールを表す場合、「3+2=5」のようにイコール(等号)は1つしか付きませんが、プログラミングの場合は次のようにイコールを2つ繋げます。
a = 10
b = 10 #2つ整数を用意する
if a == b: #aとbが等しければ、
print("a is equal to b")
不等号
「10 < 20」のような不等号を使うこともできます。不等号は数学と同様の書き方で表現できます。
例2
a = 10
b = 20
if a < b: #bがaより大きければ
print("b is greater than a")
不等号には、等号付き不等号(≧,≦)も用意されています。Pythonで表す際は、(>=,<=)と書きます。
等号付き不等号
a = 10
b = 10
if a <= b: #bがa以上であれば
print("b is greater than a or a is equal to b")
elif a >= b: #aがb以上であれば
print("a is greater than b or a is equal to b")
ノットイコール
「Aが~でない場合は」といった条件分岐をしたい時には次のように書きます。
a = 10
b = 15
if a != 15: #aがbと等しくなければ
print("a is not equal to b")
“!=”がノットイコール、つまり両者が等しくないことを示しています。
in と not in
inは、あるオブジェクトが別のオブジェクトの要素に含まれているかどうかを調べる時に使います。forループで頻繫に使う、” for i in range(..)”というコードでもinが用いられています。
list_1 = [1,2,3,4,5,6,7,8,9,10]
print( 5 in list_1) #5がlist_1に含まれているかどうかを判定
print(20 in list_1) #20がlist_1に含まれているかどうかを判定
上記の例では、5と20という整数が、リスト(list_1)に要素として含まれているかどうかを調べています。
比較演算子が持つ意味合い
Pythonでは、比較演算子を用いて複数のオブジェクト同士を比較することができます。数学で出てくる不等号のように、100>50などと表現することができますが、比較演算子はある意味を持っています。
それは、比較演算子によって成された比較の結果は、TrueやFalseで表されるという点です。
比較演算子だけを書き込んだ場合
今まではif文と一緒に比較演算子を使っていましたが、ifなどは一切使わず、比較演算子だけにした場合はどうなるでしょうか。
例:比較演算子だけを書いた場合
print(10 < 15)
#True
print(10 > 15)
#False
10は15より小さいので、1つ目のprintでは”True”と出力されます。反対に、10は15より大きくはないので、2つ目は”False”と出力されます。
True,Falseはブーリアン(Boolean)型変数と呼ばれており、簡単に言えばTrueが「真」、Falseが「偽」を示しています。10 < 15という命題は真であるから”True”、10 > 15という命題は偽であるから”False”が出力されたわけです。