if x is not None または if not x is None を使用する必要がありますか?
Google のスタイル ガイドと PEP-8 は両方とも if x is not None を使用します。そのため、両者の間には若干のパフォーマンスの違いがありますか?
テストの結果、同じバイトコードにコンパイルされるため、パフォーマンスに違いがないことが判明しました:
Python 2.6.2 (r262:71600, Apr 15 2009, 07:20:39)>>> import dis>>> def f(x):... return x is not None...>>> dis.dis(f) 2 0 LOAD_FAST 0 (x) 3 LOAD_CONST 0 (None) 6 COMPARE_OP 9 (is not) 9 RETURN_VALUE>>> def g(x):... return not x is None...>>> dis.dis(g) 2 0 LOAD_FAST 0 (x) 3 LOAD_CONST 0 (None) 6 COMPARE_OP 9 (is not) 9 RETURN_VALUE
ただし、使用スタイルの観点から、次のようにしてみてください。 x が y でないことを避けてください。コンパイラーは常にこれを not (x is y) として扱いますが、読者はこの構造を (not x) is y であると誤解する可能性があります。したがって、x が y でない場合、そのような曖昧さはありません。
以上がx が None でない場合、または x が None でない場合に使用します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。