2 つの 演算子is と == の違いについて説明する前に、まず Python の object に含まれる 3 つの基本要素、つまり id (アイデンティティ識別子)、Python 型について知っておく必要があります。 () (データ型) と value(値)。 is と == は両方ともオブジェクトを比較して判断するために使用されますが、オブジェクトを比較する内容が異なります。具体的な違いを見てみましょう。
Python では 2 つのオブジェクトが等しいかどうかを比較する方法が 2 つあります。簡単に言うと、その違いは次のとおりです。は 2 つの reference が同じオブジェクトを指しているかどうかを比較することです (参照比較)。
== は、2 つのオブジェクトが等しいかどうかを比較します。
>>> a = [1, 2, 3] >>> b = a >>> b is a # a的引用复制给b,他们在内存中其实是指向了用一个对象 True >>> b == a # 当然,他们的值也是相等的 True >>> b = a[:] # b通过a切片获得a的部分,这里的切片操作重新分配了对象, >>> b is a # 所以指向的不是同一个对象了 False >>> b == a # 但他们的值还是相等的 True
对象缓存机制
>>> c = 1 >>> d = 1 >>> print(c is d) True >>> 1000 is 10**3 False >>> 1000 == 10**3 True
の場合、intern関数を使用してバッファの使用を強制できます。
以上がPython の演算子「==」と「is」の違いの分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。