Python

Pythonの比較演算子の使い方解説

By 2021年2月12日February 17th, 2021No Comments

こちらの記事ではPythonの論理演算子と比較演算子について解説しています。

Pythonは論理演算を行う論理演算子(not, or, and)があります。論理演算とは真偽値の結果がTrueかFalseかを判定する演算です。論理演算子はif文などの条件分岐式で比較演算子と一緒に使う事が多いです。

条件分岐式で使う比較演算子について

Pythonのif文などの条件分岐式で使う主な比較演算子はこちらになります。

「==」 aの値とbの値、左右の値が等しければTrue…a == b

「< 」aの値がbの値に比べ小さければTrue…a < b

「<=」 aの値がbの値以下であればTrue…a <= b

「>」 aの値がbの値に比べ大きければTrue…a > b 

「>=」 aの値がbの値以上であればTrue…a >= b

「! =」aの値とbの値が左右の値が等しくなければTrue…a != b

論理演算子では上記の比較演算子と組み合わせて真偽値の判定結果をTrueかFalseの判定をしていきます。

比較演算子で右辺と左辺が等しいかどうかの比較には==演算子や!=演算子を使うと分かります。==演算子は左辺と右辺が等しければTrueを返しますが、!=演算子は左辺と右辺が一致しない場合にTrueを返します。

bool( )関数で右辺と左辺の数値が等しいか比較演算子を使って判定していきます。

print(bool(5 == 5))

結果:

True


print(bool(5 == 1))

結果:

False


整数と整数だけではなく整数と浮動小数点数が等しいかどうかも確認することができます。

print(bool(5 == 5.0))

結果:

 True


浮動小数点数と整数の数値が等しいので真偽値はTrueとなりました。このように比較演算子は右辺と左辺の値を比較する事ができます。

否定形の条件分岐式の使い方!=(ノットイコール)とは

!=とは比較演算子の一つで等しくないという否定形の条件式になります。左辺に対して右辺が等しくない場合はTrueで等しい場合はFalseになるという通常の==を使用した場合と逆を返す事になります。構文は下記になります。

左辺 != 右辺

number = '5'
if number != '6':
    print('5ではないのでTrueです。')
else:
    print('5なのでFalseです。')

結果:

5ではないのでTrueです。


変数numberの値が5ではないのでTrueを返しました。このようにノットイコールの条件式は左辺と右辺が正しくない場合にTrueを返す事になります。

Pythonの論理演算子notの使い方について

論理演算子notは値の否定の形を返すので真偽値の結果がTrueとFalseが反転します。構文は下記になります。

not 条件式

print(not True)

結果:

False


print(not False)

結果:

True


このように論理演算子notを使う事でTrueとFalseの結果が反転しているのが分かります。

実際にif not文を利用したコードで使い方の確認していきます。

number = 5

if not number % 2 == 0:
    print("numberは奇数です。")
else:
    print("numberは偶数です。")

結果:

numberは奇数です。


数値が偶数か奇数か判定して結果を出力する処理をしました。if not文を使ってるので2で割り切れる以外の偶数の数字ならTrueの結果を返すので変数’number’の数値が5なので結果が反転してTrueを返しました。

Pythonの論理演算子orの使い方について

論理演算子orは2つの条件式のどちらかがTrueであれば式全体がTrueになります。構文は下記になります。

条件式1 or 条件式2

number = 5
if number == 5 or number == 4:
    print('Trueです。')
else:
    print('Falseです。')

結果:

Trueです。


左辺と右辺の条件式であるnum == 5とnum == 4の条件式のどちらかが成立したらTrueを返します。変数numberは5なのでnum == 4とは一致しませんがnum == 5とは条件が一致したのでTrueを返しました。このように論理演算子orは左辺と右辺のどちらかの条件式が成立していればTrueを返します。

Pythonの論理演算子andの使い方について

and演算子は左辺と右辺の真偽値がどちらもTrueであるときだけTrueを返します。どちらか一方もしくは両方がFalseの場合はFalseを返す演算子です。構文は下記になります。

条件式1 and 条件式2

a = 10
print(0 < a and a <= 10) 

結果:

True


左辺と右辺の両方の条件が成立しているのでTrueを返しました。if and文を使って条件分岐していきます。

number = 5
if number >= 5 and number < 5:
    print('Trueです。')
else:
    print('Falseです。')

結果:

Falseです。


条件式であるnumber >= 5とnumber < 5をand演算子で複合条件にしました。左辺のnumber >= 5の条件は一致しているのでTrueですが、右辺のnumber < 5は条件が一致してないので結果はFalseになりました。このようにand演算子は2つの条件が成立した場合のみTrueを返します。

まとめ

Pythonの論理演算子と比較演算子の使い方についてでした。比較演算子を使って左辺と右辺を比較する事ができました。論理演算子(not, or, and)は 

not…否定の形を返すので真偽値であるTrueとFalseの結果が反転します。

or…条件式のどれか1つがTrueであれば真偽値がTrueになります。

and…条件式の真偽値がどちらもTrueであるときだけTrueを返します。どちらか一方もしくはどちらもFalseの場合は結果はFalseになります。

これらを使って条件分岐する事ができます。以上、Pythonの論理演算子(and, or, not)と比較演算子についてでした。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL