Atom's tech blog

Pythonを勉強しよう! and、or、notについて

f:id:iAtom:20201116135319j:plain

Python初心者の備忘録.....

今回は条件文「 if 」、「 elif 」などでよく使われる論理演算子 and 、or 、not 」についてです。

この演算子はどのプログラミング言語でも使われます。しかし言語で記述が違うので、一覧にC言語と比較してみます。

演算子比較

種別 Python C言語 意味
1 論理積 'a and b' 'a && b' 左辺と右辺が共に真:Trueの場合「真:True」
2 論理和 'a or b' 'a | b' |左辺と右辺のどちらかが真:Trueの場合「真:True」
3 否定 not a !a aが偽:Falseの場合、「真:True」、aがTrueの場合「偽:False」

and(論理積

「and」は二つの値の論理積を返却します。

a = 10
b = 20

# aが10 かつ bが20か確認
if a==10 and b==20 :
    print( "aとbが共にTrue")
else:
    print( "aとbのどちらかがFalse、または両方False")

# 出力結果
# aとbが共にTrue

上記サンプル、5行目の左辺と右辺が共に「True」となり、Trueルートへ遷移します。

a = 11
b = 20

# aが10 かつ bが20か確認
if a==10 and b==20 :
    print( "aとbが共にTrue")
else:
    print( "aとbのどちらかがFalse、または両方False")

# 出力結果
# aとbのどちらかがFalse、または両方False

上記サンプル、5行目の左辺が条件合わずFalseとなるため、elseルートへ遷移します。

or(論理積

「or」は二つの値の論理和を返却します。

a = 11
b = 20

# aが10 または bが20を確認
if a==10 or b==20 :
    print( "a、またはbのどちらかがTrue、または両方True")
else:
    print( "aとbのどちらもFalse")

# 出力結果
# a、またはbのどちらかがTrue、または両方True

上記サンプル、5行目の右辺(b)がTrueとなるため、Trueルートへ遷移します。

a = 11
b = 21

# aが10 または bが20を確認
if a==10 or b==20 :
    print( "a、またはbのどちらかがTrue、または両方True")
else:
    print( "aとbのどちらもFalse")

# 出力結果
# aとbのどちらもFalse

上記サンプル、5行目の両方がFalseとなるため、elseルートへ遷移します。

not (否定)

a = 11
# aが10以外か確認
if not a == 10:
    print("aが10以外のときTrue")
else:
    print("aが10のときFalse")

# 出力結果
# aが10以外のときTrue

上記サンプル、3行目でaが10以外のため、Trueルートへ遷移します。

a = 10
# aが10以外か確認
if not a == 10:
    print("aが10以外のときTrue")
else:
    print("aが10のときFalse")

# 出力結果
# aが10のときFalse

上記サンプル、3行目でaが10のため、Falseルートへ遷移します。