1. ホーム
  2. パイソン

[解決済み】Python !=操作 vs "is not "操作

2022-03-29 05:49:11

質問

のコメントで この質問 を使うことを推奨している文章を見かけました。

result is not None

result != None

この違いは何なのでしょうか?

解決方法は?

== 等価テスト . これは、右辺と左辺が等しいオブジェクトであるかどうかをチェックします(それぞれの __eq__ または __cmp__ メソッドを使用します)。

is アイデンティティテスト . これは、右手と左手がまったく同じオブジェクトであるかどうかをチェックするものです。メソッドコールは行われず、オブジェクトは is 演算を行うことができます。

あなたが使うのは is (そして is not のような一重引用符を使用します。 None であるかのように見せかけたいオブジェクトを気にしない場合。 None と比較されたときにオブジェクトが壊れないようにしたい場合。 None .