これまで、 and 演算子と or 演算子を紹介しました。
Pythonの論理演算子には、and と or の他にもう一つ、not 演算子があります。
not 演算子は、指定した式の値を 反転 し、値が True(真) なら False(偽)を返し、False(偽)ならTrue(真) を返す演算子です。
not 演算子は、次のように記述します。and 演算子や or 演算子と違って、式を一つだけ指定できます。
not 式
たとえば、ある乗り物は「10歳未満 以外 はお乗りいただけます」という条件がついているとします。10歳未満 以外 ですので、10歳未満なら False、10歳以上なら True となる条件です。
10歳未満という条件は
age < 10
という式で書けます。乗り物に乗れるのはこの条件が False となる場合ですから、not 演算子を使って結果を反転します。
not (age < 10)
この条件式は、age が10歳未満なら False、10歳以上なら True となり、「10歳未満 以外」 を満たしています。
not 演算子をつかって、このプログラムを書いてみましょう。
In [8]:
age = 20  # 年齢は20歳
if not (age < 10):
    print("お乗りいただけます。")
変数 age は 20 ですから、 age < 10 という式は False となります。そして、not 演算子はその結果を反転し、結果として True となります。
否定¶
次のように、変数 A の not 演算を行い、結果を変数 B に代入すると、
B = not A
変数 B の値は、A 値によって次のようになります。
| B | A | 
|---|---|
| True | False | 
| False | True | 
A が False ならば B は True、A が True ならば B は False となります。
not のように、入力値が反転した値が結果となる論理演算を、否定 ともいいます。