Python 速習チュートリアル

Python None

1. Noneキーワードとは?

None キーワードは、値が存在しないことを定義するために使用されます。

他のプログラミング言語における nullnil に相当する概念です。

None は単なる「0」や「空の文字列("")」、あるいは「False」とは異なります。None 自体が一つのデータ型(NoneType)であり、None という値のみを保持できます。

1.1 コード例

バリアブル(Variable)None を代入する例です。

x = None

print(x)

2. Noneのデータ型

前述の通り、None は独自のデータ型を持っています。Pythonの組み込み関数である type() を使用して確認すると、NoneType オブジェクトであることがわかります。

2.1 コード例

None のデータ型を出力して確認してみましょう。

x = None

# xのデータ型を表示
print(type(x))

3. Noneの判定方法

条件分岐(Conditional Branching)において、バリアブル(Variable)None かどうかを判定することは非常に重要です。

Pythonでは、== 演算子ではなく、同一性を確認する is 演算子を使用して None かどうかを判定するのが最も一般的で推奨されるスタイルです。

3.1 コード例

if ステートメントを使用して None をテストする例です。

x = None

if x is None:
  print("申し訳ありません、xはNoneです")
else:
  print("xはNoneではありません")

3.2 None判定の注意点

Pythonにおいて None は、ブール値の文脈では False として評価されます。しかし、以下のような比較を行う際には注意が必要です。

x = None

# NoneはFalseとして評価されますが、Falseそのものではありません
if x:
  print("Do something")
else:
  print("xはNone、あるいは他の偽値(0や空のリストなど)です")

このように、単純に if not x: と書くと、x0 や空の文字列 "" の場合も条件に合致してしまいます。そのため、厳密に「値が未設定であること」を確認したい場合は、必ず x is None を使用してください。