Developer

【Python独学】比較演算子と論理演算子
2020.11.02
Lv1

【Python独学】比較演算子と論理演算子

今回は、Pythonで用いる比較演算子と論理演算子について扱っていきます。


比較演算子

プログラミングでは、数値などの比較をよく行います。
ある値とある値が等しいか、どちらかが大きいか小さいかといった比較は、比較演算子で行います。
例を見てみましょう。

x = 3
y = 4
print(x == y)
print(x < y)
print(x > y)
C:\Python> python 2-6.py
False
True
False

比較した結果は、”True”と”False”で表されます。
Pythonでは、TrueとFalse、つまり真偽値はbool型というデータ型で表されます。
例えば、xとyの値が等しいかどうかを比較する比較演算子は
x == y
と記述し、その結果値が等しければTrue、等しくなければFlaseになります。
比較演算子は、後の記事で取り上げるif文による条件分岐などを扱う際に
必要になってきます。

比較演算子の一覧は以下になります。

演算子 説明
== xとyが等しいときTrue x == y
!= xとyが等しくないときTrue x != y
> xがyより大きいときTrue x > y
< xがyより小さいときTrue x < y
>= xがy以上のときTrue x >= y
<= xがy以下のときTrue x <= y

等しいかどうかを比較する際は、”==”という演算子を使う点に注意してください。
“=”、つまり記号が1つの場合は代入演算子になります。

いくつか例を確認しておきましょう。

x = 60
y = 50
print(x != y)
print(x >= y)
print(x <= y)
C:\Python> python 2-6.py
True
True
False

論理演算子

if文などで複数の条件を記述する際などに使う演算子として、論理演算子が定義されています。
論理演算子には、”and”,”or”,”not” の3種類が用意されています。

演算子 説明
and XとYの両方がTrueのときTrue 片方もしくは両方がFalseならFalse 論理積 x and y
or xまたはyのどちらか一方、もしくは両方がTrueならTrue 両方FalseならFalse 論理和 x or y
not xがTrueならFalse xがFalseならTrue 否定 not x

例を確認してみましょう。

x = True
y = False
print(x and y)  #両方TrueのときTrue
print(x or y)   #片方でもTrueならTrue
print(not x)    #TrueならFalse FalseならTrue
C:\Python> python 2-6.py
False
True
False

これらの論理演算子を用いることで、例えば
「xの値が10以上かつyの値が100未満のときTrue」といったような
複数の条件を組み合わせて扱うことが出来るようになります。

x = 20
y = 80
print(x >= 10 and y < 100)
C:\Python> python 2-6.py
True

まとめ

値や変数などを比較する際は比較演算子を使います。
また、複数の条件を組み合わせる場合は論理演算子を使います。
これらは、if文など、Pythonを記述する上で非常に重要な要素になっています。


確認問題

1.以下の条件を比較演算子を使って記述してみましょう。
x = 10
・「xが10以上の場合True」
・「xが20ではない場合True」
・「xが30未満の場合True」

2.以下の条件を論理演算子を使って記述してみましょう。
x = 10
y = 20
・「xとyがどちらも20以上の場合True」
・「xかyのどちらか一方、あるいは両方が50未満の場合True」
・「”x == 10″がTrueの場合False」

連載目次

独学で学ぶ Pythonプログラミング 連載目次