Pythonでは、Null値を表すためにNone
というキーワードが用意されています。他のプログラミング言語と異なり、null
というキーワードは存在しません。そのため、変数がNullかどうかを確認する場合には、None
と比較する必要があります。
PythonでのNoneの基本
Pythonでは、None
は特別な定数で、他の任意の値とは区別され、唯一無二の存在として扱われます。つまり、Pythonでは None
は None
自体しか指せません。
nullValue = None
Null値の判定方法
PythonではNull値(None)の判定は通常、 is
演算子を用いて行います。
x = None
if x is None:
print("x is None")
また、Pythonでは not
を用いた判定方法もあります。この方法は、値がNoneか、あるいは他の”Falsy”な値(0、空の文字列、空のリストなど)の場合に True
を返します。
x = None
if not x:
print("x is None or a 'falsy' value.")
リストや文字列の場合、 len()
関数を使ってNullあるいは空を判定することも可能です。
x = []
if len(x) == 0:
print("x is an empty list.")
ただし、この方法ではNoneと空の区別はつかないため注意が必要です。
isと==の違い
is
演算子は、二つのオブジェクトが同一のオブジェクトであるかどうかを判定します。x is None
は「 x
は None
オブジェクトである」という意味です。
x = None
if x is None:
print("x is None")
return Noneとは
自作した関数の戻り値が必要ない場合はreturn文は省いてよいので、何も書きません。しかし、return None
と記されている場合は「戻り値は必要だが、あるケースに限っては必要ない」というシチュエーションが挙げられます。
def myfunc(x):
if x > 10 :
return "Hello!"
else :
return None
print(myfunc(15))
print(myfunc(5))
以上がPythonでのNull値の扱い方についての基本的な情報です。これらの知識を持っていれば、PythonでNull値を扱う際に困ることは少なくなるでしょう。