Pythonの比較演算子をまとめてみました。
最初にそれぞれの比較演算子について解説して、最後に全ての比較演算子を表にまとめています。
載せているソースコードはPythonのバージョン3.11.0で確認しました。
公式のこちらに値の比較についての記載があります。
Pythonの比較演算子について
比較演算子は2つの値を比較する演算子です。
if文などの分岐処理で使用して、判定をするために使います。
例えば、下記のように使うことができます。
value = 10
if 10 == value:
print("valueは10です。")
最初にvalue変数に数値の「10」を代入しています。
次の処理で、数値の「10」とvalue変数を等価演算子(==
)で比べています。
同じ値なので、真理値のTrueが返ってきて、if文の配下のブロックが処理されます。
結果、「valueは10です。
」が出力されて処理が終わります。
次項から、それぞれの演算子について確認します。
等価演算子(==)
同じかどうかを判定するときには「==
」を使います。
先ほど使いましたが、左側と右側に比べたい値を書くと、比較して同じ場合にTrueが返ってきます。
違う場合にはFalseが返ってきます。
value = 10
if 100 == value:
print("valueは10です。")
else:
print("valueは10ではないです。")
先ほどのプログラムを少し修正しました。
if文で数値の「100」とvalue変数の「10」を比べています。
この場合は、同じ値ではないので、elseの方の処理を通ります。
結果、「valueは10ではないです。
」が出力されて処理が終わります。
不等価演算子(!=)
同じじゃないことを判定するときには「!=
」を使います。
左側と右側に比べたい値を書くと、比較した値が違う場合にTrueが返ってきます。
同じ場合にはFalseになります。
fruit = 'apple'
if 'banana' != fruit:
print('fruit変数の中身はbananaじゃないです。')
最初にfruit変数に文字列の「apple
」を代入しました。
次の処理のif文で、「!=
」を使っています。
文字列の「banana
」とfruit変数の文字列「apple
」が同じじゃないことを判定しています。
結果、同じじゃないので、Trueが返ってきて「fruit変数の中身はbananaじゃないです。
」が出力されて処理が終わります。
aよりbが少ない(<)
値の比較で、aよりbが少ないことを確認したいときには「<
」を使います。
averageScore = 80
myScore = 100
if averageScore < myScore:
print('myScoreよりaverageScoreは少ない!')
最初にaverageScore変数に「80
」を代入しています。
次にaverageScore変数に「100
」を代入しました。
そして、if文で「<
」を使って比較しています。
「80 < 100
」となり、myScore変数よりaverageScore変数が少ないためTrueになります。
結果、「myScoreよりaverageScoreは少ない!
」が出力されて、処理が終わります。
aよりbが大きい(>)
値の比較で、aよりbが大きいことを確認したいときには「>
」を使います。
averageScore = 100
myScore = 55
if averageScore > myScore:
print('myScoreよりaverageScoreが大きい!')
最初にaverageScore変数に「100
」を代入しています。
次にaverageScore変数に「55
」を代入しました。
if文の中の判定で、「>
」を使って比較しています。
「100 > 55
」となり、条件に合うので、Trueが返ってきます。
結果、「myScoreよりaverageScoreが大きい!
」が出力されて、処理が終わります。
aよりbが少ないか等しい(<=)
値の比較で、aよりbが少ないか等しいことを確認したいときには「<=
」を使います。
「<
」と違うのは、同じ値の場合でもTrueが返ってくることです。
value1 = 10
value2 = 10
value3 = 11
if value1 <= value2:
print("value1とvalue2は同じ値です。")
if value1 <= value3:
print("value1よりvalue3は大きい値です。")
最初に、value1・value2・value3の変数を作って、それぞれ値を代入しました。
次の処理で、value1変数とvalue2変数を比べています。
同じ値の「10
」なので、Trueが返ってきて、if文の配下のprint関数が実行されます。
その次の処理で、value1変数とvalue3変数を比べています。
value1変数の「10
」より、value3変数の「11
」が大きいので、「10 <= 11
」となりTrueが返ってきます。
こちらもif文の配下のprint関数が実行されます。
結果として、どちらのif文も通って、下記が出力されて処理が終わります。
value1とvalue2は同じ値です。
value1よりvalue3は大きい値です。
aよりbが大きいか等しい(>=)
値の比較で、aよりbが大きいか等しいことを確認したいときには「>=
」を使います。
「>
」と違うのは、同じ値の場合でもTrueが返ってくることです。
value1 = 10
value2 = 10
value3 = 11
if value1 >= value2:
print("value1とvalue2は同じ値です。")
if value1 >= value3:
print("value3よりvalue1は大きい値です。")
else:
print("value1よりvalue3は大きい値です。")
先ほどと同じプログラムを少し変えました。
最初に、value1・value2・value3の変数を作って、それぞれ値を代入しました。
次の処理で、value1変数とvalue2変数を比べています。
同じ値の「10
」なので、こちらもTrueが返ってきて、if文の配下のprint関数が実行されます。
その次の処理で、value1変数とvalue3変数を比べています。
value1変数の「10
」より、value3変数の「11
」が大きいです。
そのため、「10 >= 11
」となり、Falseが返ってきます。
結果として、最初はif文を通って、次の処理はelse文の配下を通ります。
下記が出力されて処理が終わります。
value1とvalue2は同じ値です。
value1よりvalue3は大きい値です。
比較演算子まとめ
今回紹介した比較演算子について、表にまとめてみました。
演算子 | 内容 | Trueになるパターン |
---|---|---|
v1 == v2 | 比較して等しい場合にはTrueになる | 10 == 10 |
v1 != v2 | 比較して等しくない場合にはTrueになる | 10 != 9 |
v1 < v2 | v2よりv1が少ない場合にはTrueになる | 9 < 10 |
v1 > v2 | v2よりv1が大きい場合にはTrueになる | 10 > 9 |
v1 <= v2 | v2よりv1が少ないか、同じ値になる場合にはTrueになる | 10 <= 10 または 10 <= 11 |
v1 >= v2 | v2よりv1が大きいか、同じ値になる場合にはTrueになる | 10 >= 10 または 11 >= 10 |
終わりに
今回はPythonの比較演算子についてまとめてみました。
ポイントだけまとめると、下記のようになります。
・同じでないことを判定するときは「`!=`」を使う
・大きいか小さいかを判定するときには「`<`」または「`>`」を使う
・大きいか小さいかで同値を含めるときには「`<=`」または「`>=`」を使う
「<
」と「>
」は同じ値は含まないので注意したいところです。
コメント