1

ドキュメントを読んでみましたが、明確な答えが得られませんでした。

id(a) == id(b)

と同じ

a is b

同様に

import unittest
unittest.TestCase.assertNotEqual(id(a), id(b))

したがって、同じ

import unittest
unittest.TestCase.assertIsNot(a, b)
4

1 に答える 1

1

はい

CPython の「id」は、参照されているオブジェクトのメモリ アドレスを示します。アドレスは、同じ Python プロセス内のオブジェクトを一意に識別します。

したがって、の意味は

id(a) == id(b)

「インスタンス a と b のメモリアドレスは同じですか?」です。これは、 「a と b は同じオブジェクトを参照していますか?」と同等です。:

a is b

「id」のドキュメント文字列から:

id(オブジェクト) -> 整数

オブジェクトの ID を返します。これは、同時に存在するオブジェクト間で一意であることが保証されています。(ヒント: オブジェクトのメモリアドレスです。)

于 2013-03-17T17:06:27.520 に答える