Pythonのif文でNone判定を行う方法について解説します。NoneとはPythonでnullオブジェクトのことで、空っぽを意味します。
Noneとは
Pythonにおける「None」とは、「値が存在しない状態」のことを表す組み込み定数です。他のプログラミング言語ではデータが存在しない場合は「null」という語句を使うこともあります。
Noneかどうかを判定する方法
Pythonにおける処理のときには、Noneオブジェクトを使うとエラーが生じる場合もあります。そのために、処理を行う前にNoneかどうかを確認する必要が生じてきます。Noneを確認するためには、if文とis演算子を使います。
if オブジェクト is None:
# Noneだった場合の処理
else:
# Noneでない場合の処理
None判定におけるisと==の違い
isによってNoneを判定する方法を紹介しましたが、通常2つのオブジェクトを比較する場合は比較の==演算子を使用することが多いです。isと==の違いを紹介し、Noneの判定でisの使用が推奨される理由を紹介します。
Pythonでは、==はオブジェクトの値同士が同じであるか(同値性)を比較し、isはオブジェクト自体が同じものであるか(同一性)を比較します。Noneかどうかを判定したい場合は、判定の厳密性や処理速度の面からisの使用が推奨されます。
実際に書いてみよう
それでは、実際にコードを書いて、Noneであるかどうかを確認してみましょう。
test = {"red":"apple","blue":"sky","green":"forest"}
a = test.get("orange") # a に None を入れる
if a is None: # is を使った論理比較
print("a is None")
このコードでは、”orange”というキーが辞書に存在しないため、getメソッドがNoneを返し、その結果がaに代入されます。その後、if文でaがNoneかどうかを判定しています。
以上がPythonのif文でNone判定を行う方法についての解説です。この記事がPythonプログラミングの理解に役立つことを願っています。.