Pythonを勉強しよう! and、or、notについて
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ルートへ遷移します。