【Python】if notの使い方を徹底解説!条件分岐を理解しよう

スポンサードリンク
Python

Pythonでの条件分岐は、プログラムの流れを制御するために重要な機能の1つです。
その中でも、if notはシンプルに否定条件をチェックできる便利な構文です。

この記事では、if not基本から実際の使い方、注意点までを詳しく解説します。
Pythonを学び始めたばかりの初心者の方でも理解できるよう、実際のコード例も豊富にご紹介します。

著者情報

この記事が「役に立った」「わかりやすかった」と感じたらシェアお願いします。

スポンサードリンク

Pythonのif notとは?

見本

Pythonの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の使い方をマスターしてみてください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました