Pythonでは、Noneは何も値が存在しないことを表します。空文字列・空リスト・False・0などとは違い、明示的に何もないことを表しています。
test = None
print(test) # None
print(type(test)) # <class 'NoneType'>
上記のコードでは、Noneを変数testに代入しています。その後にtest変数の内容をprint関数で出力しています。type関数で型を確認してみると、NoneTypeのオブジェクトになっていることがわかります。
Noneを判定するには、is演算子を使います。下記では、if文の中でis演算子を使って変数がNoneか判定しています。
test = None
if test is None:
print('testはNoneです。')
最初にtest変数にNoneを代入しています。その次の処理で、if文でis演算子を使ってNoneか判定しています。NoneだったときにはTrueが返ってきて、NoneでないときにはFalseが返ってきます。
Noneと空文字は違います。空文字は空の文字が変数に入っていますが、Noneが入っている場合には何もないことになります。
emptyText = ''
if emptyText is None:
print('emptyTestはNoneです')
else:
print('emptyTestはNoneではないです')
最初にemptyText変数に空文字を代入しています。その後にif文でNoneか判定しました。結果、Noneではないので「emptyTestはNoneではないです」が出力されました。
他のプログラム言語では、何もないことを表すときにはNULLを使うことがあります。PythonではNULLがないので、Noneを使って値がないことを表現しましょう。
以上がPythonにおけるNoneとその演算についての解説です。この記事がPythonの学習に役立つことを願っています。