ホームページ >バックエンド開発 >Python チュートリアル >Pythonで2つのオブジェクトを比較するためのisメソッドと==メソッドの詳細な説明
この記事では、Python で 2 つのオブジェクトを比較する 2 つの方法についての関連情報を主に紹介します。この記事が、Python で 2 つのオブジェクトを比較する 2 つの方法を参照するのに役立つことを願っています。 2 つのオブジェクト
Python では、2 つのオブジェクトが等しいかどうかを比較する方法が 2 つあります。つまり、is と ==、それらは異なります
== は値を比較します (Java の等しいメソッドと同様)>>> n = 1 >>> n is 1 True >>> b = '1' >>> b is 1 False >>> n == b False
1 と '1' なので、それが値であるか参照であるかは異なります。 result is false
>>> n = 1 >>> n is 1 Trueここで知識ポイントがあります。簡単に言うと、整数などのプリミティブ型の場合、参照比較は値の比較になります。ただし、Python は整数型の実装においてこの方法を採用します。 -5 から 256 までの場合、これらの数値を格納するために配列がメモリ内に予約され、次回使用するときに直接参照できます。この範囲外の数値については、新しい int オブジェクトが作成されます。簡単な例は次のとおりです。
#a和b的值超出256 >>> a = 257 >>> b = 257 >>> a is b False #a和b的值在-5和256之间 >>> a = 256 >>> b = 256 >>> a is b True
上の例に示すように、それが -5~256 の整数である限り、Python は次のようにします。変数用の新しいメモリ領域は初期化されませんが、256 を超えると、新しい領域が割り当てられます。
以下に示すように、2 つのオブジェクトの ID を出力することで、2 つのオブジェクトのメモリ アドレスの違いを直接確認することもできます。以上がPythonで2つのオブジェクトを比較するためのisメソッドと==メソッドの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。