我们说在Python中,每个创建的对象都有一个唯一标识它的数字。
[当我们将点指向500并获得a和500的ID时:
a=500
id(a), id(500)
(140733559789896, 140733559789992)
这是否意味着引用a(140733559789896)的ID像指向500的点“指向”对象500?
并且为什么140733559789992不是对象500的ID?
id(500)
在内存中创建一个新对象,并为其分配一个ID。即使它们共享相同的值,它也不是与a
相同的对象。
想象我们有这段代码:
a = 500
b = 500
我们期望id(a) == id(b)
吗?当然不是–它们是不同的对象。
这是否意味着引用a的ID(140733559789896)像指向500的点“指向”对象500?
根据id的文档,它是对象500
在内存中的地址。
并且为什么140733559789992不是对象500的ID?
是。500
行中的a = 500
和第二行中传递给500
的id(500)
是不同的对象,因此标识也不同。