これらのうち、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つだけ存在するため、はこれに最適なテストです。None
is
Johnsywebは指摘するこれについては、ペップ8「プログラミングの推奨事項」の下。
なぜこれが好まれるのかというと
if not (val is None):
# ...