对象和引用的ID函数

问题描述 投票:0回答:1

让x指向列表[1,2,3]并获得id函数(两次):

x=[1,2,3]

id(x), id([1,2,3])
(208085256L, 208123976L)

id(x), id([1,2,3])
(208085256L, 208124168L)

我们说,每个创建的对象都有一个唯一标识它的编号。

据我所知,x是指针/引用,[1,2,3]是对象。也就是说,指针(x)的ID为208085256L,并且在第二次观察中保持不变。但是为什么说对象[1,2,3]的ID会发生变化,当据说每个创建的对象都被赋予一个唯一标识它的编号时。我的推理错了吗?

或者我应该以引用x的ID(208085256L)的ID“指向”对象[1,2,3]的方式理解我可以忽略第二个ID的方式吗?

python object reference id
1个回答
1
投票

表达式[1, 2, 3]每次被评估时都会创建一个新的列表对象。

总共,您的代码示例创建了三个列表。

x是第一个的名称。

© www.soinside.com 2019 - 2024. All rights reserved.