こんにちは、阿久梨絵です!
プログラミングを学び始めたとき、他の言語で見かけた「null」という言葉。
JavaScriptでも、Javaでも、SQLでも、何かが「存在しない」状態を表すのに使われています。
でも、 Python では「null」が使えません。
代わりに出てくるのが「None」というキーワード。
value = None
「え、nullじゃないの?」
「Noneって何者?」
そう思った人も多いはずです。
でも実は、Pythonに“null”がないのは、ちゃんとした理由があるんです。
Pythonが「None」を選んだ理由
1. 明示的で読みやすい
Pythonは「読みやすさ」をとても大切にする言語です。
その哲学は「The Zen of Python(Pythonの格言)」にも表れています。
Explicit is better than implicit.(明示は暗黙に勝る)
「null」は多くの言語で“特別な値”として扱われますが、
Pythonでは「None」という明示的なオブジェクトを使うことで、
「これは“何もない”という意味です」と、はっきり伝えることができます。
2. Noneは“型”を持つオブジェクト
PythonのNoneは、NoneTypeという専用の型を持つオブジェクトです。
type(None) # <class ‘NoneType’>
つまり、Noneはただの「空っぽ」ではなく、“何もない”という意味を持った存在。
これは、Pythonの「すべてがオブジェクト」という設計思想にも合っています。
3. nullとNoneを混在させないため
もしPythonに「null」も「None」も両方あったら、
「どっちを使えばいいの?」と混乱する人が続出します。
Pythonはあえて「None」だけにすることで、選択肢を減らし、迷いをなくしているんです。
これは初心者にとっても、実はとてもやさしい設計です。
よくある誤解:「Pythonでも“null”って書けるんでしょ?」
Pythonでは「null」というキーワードは定義されていないため、
このコードを実行すると NameError(名前が定義されていません)というエラーが出ます。
Pythonで“何もない”を表したいときは、必ず None を使います。
value = None # 正しい書き方
「null」は他の言語の表現。
Pythonでは“None”が唯一の“何もない”の表現なんです。
まとめ
Python に「null」がないのは、決して機能が足りないからではありません。
むしろ、「迷わせない」「読みやすい」「一貫性がある」
そんなPythonらしい“やさしさ”の表れなんです。
だからこそ、Pythonを学ぶときは、
「Noneって何?」ではなく「Noneってありがたいな」と思えるようになると、
きっともっとこの言語が好きになりますよ。
阿久梨絵でした!
