このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Python】if notの意味を解説

2024年6月12日

ネット記事でプログラムを見ているとif not〜というif文に出会うことがあります。

このif notですが、if notという構文があるわけではありません。

このif文がどのような構造を取っているか詳しく紹介します。

if notは「if not 条件式:」を意味している

if文にnotが含まれている場合、「if not 条件式:」と書かれているはずです。

if notと読みたくなりますが、そうではなく「not 条件式」と考えるのが正しいです。

bool = False 
# not演算子でboolが反転される(False⇒True) 
if not bool: 
    print("Not boolはTrueです。") 

not演算子はTrueとFalseを反転させる演算子です。

そのため「not 条件式」とすると条件式がFalseのときは反転されてTrueになります。

if notと書かれているIf文はこのように条件式を反転させるためにnot演算子を追加してあります。

not演算子はどのような時に使うと良いか

ここまでnot演算子を使った例を紹介しましたが、not演算子を使うのが必ずしも良いわけではありません。

コードが読みづらくなるのならばnot演算子の使用は避けた方が良いです。

# not演算子の使用は避けた方が良い例 
num = 9 
 
if not num == 10: 
    print("numは10ではありません") 
# not演算子を使わないコード 
num = 9 
 
# bot演算子でなく、!=を使用 
if num != 10: 
    print("numは10ではありません") 

このサンプルコードのように!で済むのならばnot演算子は使わない方が可読性が良くなります。

not演算子を使った方が良い例

# not演算子を使った方が良い例 
dic = {"a" : 1} 
# in演算子を使い、Not演算子で反転 
if not "b" in dic: 
    print("bはキーにありません")

not演算子を使うと良いのはTrueやFalseが返されるときで、Falseのときに実行させたい場合です。

サンプルコードではin演算子を使い、その返り値をnot演算子で反転させています。

このような場合はnot演算子のがスッキリとするのでおすすめです。
(not演算子を避けると、条件式=Falseといった書き方になる)

Python

Posted by やろまい