Pythonでは、Noneを判定する際にif not 変数if 変数 is not Noneのどちらを使用するべきかがしばしば議論の対象となります。

Noneとは

まず、PythonにおけるNoneとは、「値が存在しない状態」のことを表す組み込み定数です。他のプログラミング言語ではデータが存在しない場合は「null」という語句を使うこともあります。

if not 変数if 変数 is not Noneの違い

if not 変数if 変数 is not Noneは、それぞれ異なる状況で使用されます。

if not 変数は、変数がFalseNone、空のリスト([])、空の文字列('')、ゼロ(0)など、偽と評価される値の場合に真となります。

一方、if 変数 is not Noneは、変数がNoneでない場合に真となります。つまり、変数がFalseや空のリストなどの偽と評価される値でも、それがNoneでなければ真となります。

どちらを使用するべきか

Noneを判定する目的が主なら、is Noneis not Noneが自然でしょう。一方、変数が偽と評価される値(False、空のリストなど)を判定する目的であれば、if not 変数を使用します。

PEP8(Pythonのスタイルガイド)では、Noneのようなシングルトンと比較をする場合は、常にisis notを使うべきとされています。

以上、Pythonにおけるif notif is not Noneの違いについて解説しました。適切なコーディングスタイルを身につけることで、より読みやすく、理解しやすいコードを書くことができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です