「is」演算子を再理解する
Python などのプログラミング言語の「is」演算子は、次の比較を可能にする強力なツールです。価値観を超えたオブジェクト。よくある誤解とは異なり、「is」は変数の値を比較するのではなく、インスタンス自体を比較します。この違いを理解するには、次の例を考えてください。
x = [1, 2, 3] y = [1, 2, 3] print(x is y) # False
ここで、「is」演算子は False を返し、変数 x と y が同じ値を持つにもかかわらず、別個のインスタンスを参照していることを示します。この違いは、Python のオブジェクト ID の概念に由来します。
リストを含む Python の各オブジェクトは、独自のメモリ位置を持つ一意のインスタンスとして保存されます。 「id()」関数を使用すると、オブジェクトのメモリ アドレスを取得でき、x と y が別々のアドレスを持つことがわかります。
print(id(x)) # 123456789 print(id(y)) # 987654321
「is」演算子を使用する場合、2 つの変数があるかどうかを確認します。まったく同じインスタンスを参照します。この場合、内容が同一であっても、x と y はリスト型の別個のインスタンスです。
オブジェクトの同一性ではなく値を比較するには、「==」等価演算子を使用する必要があります。
print(x == y) # True
「is」とは対照的に、「==」は 2 つのオブジェクトの値が一致するかどうかを検証します。
以上がPython の「is」演算子と「==」演算子が異なる結果を生成するのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。