ホームページ >バックエンド開発 >Python チュートリアル >Python の「is」演算子と「==」演算子が異なる結果を返すのはどのような場合ですか?

Python の「is」演算子と「==」演算子が異なる結果を返すのはどのような場合ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-15 03:53:13261ブラウズ

When Do Python's

Python の "is" 演算子を使用したオブジェクトの同一性を理解する

Python の "is" 演算子は、変数の値を比較するためによく使用されます。ただし、実際には値自体を比較するのではなく、変数がメモリ内の同じオブジェクトを参照しているかどうかをチェックします。

次のコードを考えてみましょう。

x = [1, 2, 3]
y = [1, 2, 3]

print(x is y)  # False

なぜこれが行われるのかreturn False?

x と y の両方に同じ値を割り当てているにもかかわらず、「is」演算子は False を返します。これは、x と y が 2 つの別個のリストであるためです。同じ内容であっても、メモリ内の異なる場所に格納されます。

「is」の目的

「is」演算子は、以下を決定するように設計されています。 2 つの変数がメモリ内のまったく同じオブジェクトを指している場合。値を比較することを目的としたものではありません。

類似:

同じタイトルと著者の 2 冊の本があると想像してください。これらの本は内容は同じですが、依然として 2 つの異なるオブジェクトです。 「is」演算子は、2 つの変数が同じテキスト (値) を持つかどうかではなく、同じ書籍 (オブジェクト) を参照しているかどうかをチェックします。

値の比較に「==」演算子を使用する

2 つの変数の値を比較するには、代わりに「==」演算子を使用します。この演算子は、変数が同じオブジェクトを参照しているかどうかに関係なく、変数の値が等しいかどうかをチェックします。

print(x == y)  # True

結論

「is」演算子はPython でオブジェクトのアイデンティティを決定するための貴重なツール。その目的を理解し、値を比較する「==」演算子と区別することが重要です。これらの演算子の違いを理解することで、Python プログラムでデータを効果的に比較および操作できるようになります。

以上がPython の「is」演算子と「==」演算子が異なる結果を返すのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。