コメントでこの質問、私は使用を推奨する声明を見ました
result is not None
対
result != None
違いは何でしょうか? また、一方が他方よりも推奨される理由は何でしょうか?
ベストアンサー1
==
は等価性テストです。右側と左側が等しいオブジェクトであるかどうかを(それぞれの__eq__
または__cmp__
メソッドに従って)チェックします。
is
同一性テストです。右側と左側がまったく同じオブジェクトであるかどうかをチェックします。メソッド呼び出しは行われず、オブジェクトは操作に影響を与えることはできませんis
。
のようなシングルトンには、 のふりをする可能性のあるオブジェクトを気にしない、または と比較したときにオブジェクトが壊れないように保護する必要がある場合に、is
(および)を使用します。is not
None
None
None