Pythonでのnot Noneテスト [重複] 質問する

Pythonでのnot Noneテスト [重複] 質問する

これらのうち、None テストはありません。

if val != None:

if not (val is None):

if val is not None:

どちらが好ましいですか、またその理由は何ですか?

ベストアンサー1

if val is not None:
    # ...

は、変数が に設定されていないことをテストするためのPythonのイディオムですNone。このイディオムは、特に次のような場合に使用されます。デフォルトパラメータを持つキーワード関数の宣言はPythonで同一性をテストします。実行中のPythonスクリプト/プログラムにはisのインスタンスが1つだけ存在するため、はこれに最適なテストです。NoneisJohnsywebは指摘するこれについては、ペップ8「プログラミングの推奨事項」の下。

なぜこれが好まれるのかというと

if not (val is None):
    # ...

これは単にPythonの禅: 「読みやすさが重要」。優れたPythonは、多くの場合、優れた疑似コード

おすすめ記事