Pythonでの条件分岐は、プログラムの流れを制御するために重要な機能の1つです。
その中でも、if not
はシンプルに否定条件をチェックできる便利な構文です。
この記事では、if not
の基本から実際の使い方、注意点までを詳しく解説します。
Pythonを学び始めたばかりの初心者の方でも理解できるよう、実際のコード例も豊富にご紹介します。
この記事が「役に立った」「わかりやすかった」と感じたらシェアお願いします。
Pythonのif notとは?
Pythonのif not
構文は、条件式がFalse
(偽)である場合に特定の処理を実行したいときに使用できます。
if not 条件式 :
条件式がFalse(偽)の場合に実行する処理
「if文」については、下記記事で詳しく解説しております。
if not
を使った具体例をお見せします。
i = 1
if not i == 0 :
print(i)
# 出力: 1
上記コードでは、「iが0と等しくないとき(0以外のとき)、iの中身を表示する」というものです。
「if i == 0」は「iが0と等しいとき」という意味です。not
を付けることで反転(逆の意味)になるということです。
しかしながら、下記のコードを見てください。
if i != 0 :
print(i)
このコード(i != 0)も、「iが0と等しくないとき(0以外のとき)」という条件式のため、not
を使わない場合と同じということになります。
それなら、not
なんていらないのでは?と思うかもしれません。
実はそうではなく、メリットがあるんです。if not
を使うメリットは次項で解説いたします。
if notを使うメリット
if not
を使うことで、コードが読みやすくなり、よりわかりやすいプログラムにすることができます。
以下に、if not
を使うメリットを紹介します。
- シンプルで読みやすい:「
not
」の文字があることで、条件式を反転させていることがわかりやすくなります - 条件式の省略:リストなどが空かどうかを簡単にチェックできます
list = []
if not list:
print('リストは空です')
# 出力: リストは空です
このようなnot
にしかできない具体的な使い方は、次項でいくつか紹介いたします。
if notの使い方(具体例)
ここからは、具体的な「if not」の使い方を3つ紹介いたします。
反転させる使い方ではないものばかりですので、ゆっくり見ていってください。
リストや辞書が空の場合のチェック
前項で紹介したリストの他にも、辞書が空かどうかをチェックする際にif not
を使うと、コードを簡潔に書けます。
list = []
if not list:
print('リストは空です')
# 出力: リストは空です
dictionary = {}
if not dictionary:
print('辞書は空です')
# 出力: 辞書は空です
if not
を使うことで、リストや辞書が「空」なら条件一致、「空でない」なら条件不一致となります。
ファイルの存在確認
ファイルが存在しない場合の処理を行うときにも、if not
が使えます。
import os
if not os.path.exists('sample.txt'):
print('ファイルが存在しません')
# ファイルが存在しない場合にのみ、メッセージが表示されます
if not
を使うことで、ファイルが「存在しない」なら条件一致、「存在する」なら条件不一致となります。
変数が「None」の場合の処理
変数がNone
であるかどうかを確認する場合にも便利です。
i = None
if not i:
print('値がNoneです')
# 出力: 値がNoneです
if not
を使うことで、変数が「None」なら条件一致、「Noneでない」なら条件不一致となります。
if notを使う際の注意点
便利なif not
ですが、使う際に注意すべき点があります。
複雑な条件式には不向き
not
を使うとコードがシンプルになりますが、複雑な条件式に使用するとわかりにくくなることもあります。
▼悪い例
if not (x > 5 and y < 10):
print('表示内容')
▼良い例
if x <= 5 or y >= 10:
print('表示内容')
「悪い例」と「良い例」は同じ意味のコードなのですが、圧倒的に「良い例」の方がわかりやすいかと思います。
こういった複雑な条件式ではnot
を使わないようにしましょう。
ブール型以外でのnotの挙動
Pythonでは、空のリストやNone
の他に、「0」もFalse
(偽)と評価されるため、not
を使う際には注意が必要です。
i = 0
if not i:
print('数値は0です')
# 出力: 数値は0です
「空」・「None」・「0」は同じ挙動になるというわけです。
見分けがつかなくなって、思わぬ誤作動を起こさないように注意しましょう。
最後に
if not
を使うことで、否定の条件を簡潔に表現できます。
Pythonプログラムを読みやすくして効率的に条件分岐を記述するために、if not
の使い方をマスターしてみてください。
最後までお読みいただき、ありがとうございました。がんばってください!