Pythonの論理演算子についてです。論理演算子も比較演算子と同様、TrueもしくはFalseを返します。論理演算子にはand、or、notがあり、比較演算子と共に使われることが多いです。また、それぞれ役割が違うので詳細を紹介していきます。
論理演算子andの意味と使い方
andはandの左右の式が共にTrueの時のみTrueを返します。左右の式のどちらかがFalse、もしくは左右の式のどちらかがFalseの時はFalseを返します。
演算子andの左右の式の両方がTrueの場合
andの左右の式が共にTrueの場合、Trueが返されます。次のような例の場合、2と2は等しく(True)、3は1より大きい(True)ので、Trueが返ります。
print(2 == 2 and 3 > 1)
'''
【出力結果】
True演算子andの左右の式のうち片方がTrue、片方がFalseの場合
andの左右の式のうちどちらかがFalseの場合、Falseが返されます。次のような例の場合、2と2は等しく(True)、3は1より小さくない(False)ので、Falseが返ります。
print(2 == 2 and 3 < 1)
'''
【出力結果】
False演算子andの左右の式の両方がFalseの場合
andの左右の式の両方がFalseの場合、Falseが返ります。次のような例の場合、2と2は等しく(False)、3は1より小さくない(False)ので、Falseが返ります。
print(2 != 2 and 3 < 1)
'''
【出力結果】
False比較演算子!=ってなんだっけという方は下記記事で参照ください。

論理演算子orの意味と使い方
論理演算子orは左右の式が共にTrueもしくは左右の式のどちらかがTrueの時はTrueを返します。また、左右の式が共にFalseの時はFalseを返します。
演算子orの左右の式の両方がTrueの場合
演算子orの左右の式の両方がTrueの場合、Trueを返します。次のような例の場合、2と2は等しく(True)、3は1より大きい(True)ので、Trueが返ります。
print(2 == 2 or 3 > 1)
'''
【出力結果】
True演算子orの左右の式のうち片方がTrue、片方がFalseの場合
演算子orの左右の式のうち片方がTrue、もう片方がFalseの場合、Trueを返します。次のような例の場合、2と2は等しく(True)、3は1より小さくない(False)ので、Trueが返ります。
print(2 == 2 or 3 < 1)
'''
【出力結果】
True演算子orの左右の式の両方がFalseの場合
演算子orの左右の式の両方がFalseの場合、Falseが返ります。次のような例の場合、2と2は等しく(False)、3は1より小さくない(False)ので、Falseが返ります。
print(2 != 2 or 3 < 1)
'''
【出力結果】
False論理演算子notの意味と使い方
論理演算子notはnotの後ろに記述した式と反対の結果を返します。また、他の論理演算子と異なり、式の前に記述する事に注意が必要です。
演算子notの後の式がTrueの場合
演算子notの後ろの式がTrueの場合、Falseを返します。次のような例の場合、2と2は等しい(True)ので、Falseが返ります。
print(not 2 == 2)
'''
【出力結果】
False演算子notの後ろの式がFalseの場合
論理演算子notの後ろの式がFalseの場合、Trueを返します。次のような例の場合、1は3より大きくない(False)なので、Trueが返ります。
print(not 1 > 3)
'''
【出力結果】
Trueまとめ
ここまで見てきた論理演算子の種類、意味、例、評価結果は次のようになります。
演算子 意味 例 評価結果 and かつ True and True True or あるいは True or False True not 否定 not True False (独学プログラマー P.34 日経BP社発行より)

コメント