Pythonでは、関数が明示的に値を返さない場合、None
が自動的に返されます。このNone
は、値が存在しない状態を表す組み込み定数です。したがって、処理を行う前にNone
かどうかを確認する必要があります。
Noneの判定方法
PythonでNone
を確認するためには、if
文とis
演算子を使います。is
演算子は2つのオブジェクトが一致しているかどうかを比較するための演算子で、次のように記述します。
オブジェクト is None
これにより、以下のように返されます。
- オブジェクトがNoneのとき→True
- オブジェクトがNoneでないとき→False
したがって、以下のようにis
演算子とif
文を組み合わせて記述すれば、None
をそのまま処理したときのエラーを回避できます。
if オブジェクト is None:
# Noneだった場合の処理
else:
# Noneでない場合の処理
is
と==
の違い
is
によってNone
を判定する方法を紹介しましたが、通常2つのオブジェクトを比較する場合は比較の==
演算子を使用することが多いです。is
と==
の違いを紹介し、None
の判定でis
の使用が推奨される理由を紹介します。
Pythonでは、==
はオブジェクトの値同士が同じであるか(同値性)を比較し、is
はオブジェクト自体が同じものであるか(同一性)を比較します。したがって、None
かどうかを判定したい場合は、判定の厳密性や処理速度の面からis
の使用が推奨されます。
以上、PythonでNone
判定を行う方法について解説しました。この知識を活用して、Pythonプログラミングをより効率的に行いましょう。