はじめに
2 つの演算子 is と == の違いについて説明する前に、Python のオブジェクトに含まれる 3 つの基本要素、つまり id (アイデンティティ)、python type() (データ型)、および value (値) について知っておく必要があります。 is と == は両方ともオブジェクトの比較と判定に使用されますが、オブジェクトの比較と判定の内容が異なります。具体的な違いを見てみましょう。
Python では 2 つのオブジェクトが等しいかどうかを比較する方法が 2 つあり、簡単に言えば、それらの違いは次のとおりです。 は、2 つの参照が同じオブジェクトを指しているかどうかを比較します (参照比較)。
== は 2 つのオブジェクトが等しいかどうかを比較します。
リーリー
は両者が同じオブジェクトかどうかを比較するので、比較されるのはメモリアドレス(IDが同じかどうか)です。
オブジェクトキャッシュメカニズム
Python は比較的小さいオブジェクトをキャッシュします。次に比較的小さいオブジェクトが使用されると、キャッシュ領域内を検索します。新しいメモリは開きませんが、その小さいオブジェクトのアドレスを割り当て続けます。新しい価値。例:
計算された代入はバッファ領域を使用しません。これは最初のコード例からわかります。
概要
以上がこの記事の内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご不明な点がございましたら、メッセージを残してご連絡ください。