小编rit*_*hhh的帖子

了解python id()的唯一性

id()功能的Python文档指出以下内容:

这是一个整数,可以保证在此对象的生存期内唯一且恒定。具有不重叠生命周期的两个对象可能具有相同的id()值。

CPython实现细节:这是对象在内存中的地址。

虽然,下面的代码片段显示了id重复的。由于我没有明确del显示对象,因此我假设它们都是活动的并且是唯一的(我不知道不重叠的含义)。

>>> g = [0, 1, 0]
>>> for h in g:
...     print(h, id(h))
... 
0 10915712
1 10915744
0 10915712
>>> a=0
>>> b=1
>>> c=0
>>> d=[a, b,c]
>>> for e in d:
...     print(e, id(e))
... 
0 10915712
1 10915744
0 10915712
>>> id(a)
10915712
>>> id(b)
10915744
>>> id(c)
10915712
>>>
Run Code Online (Sandbox Code Playgroud)

id不同对象的值如何相同?是因为值0(class的对象int)是一个常量并且解释器/ C编译器进行了优化吗?

如果我要这样做a = c,那么我理解c …

python python-3.x

3
推荐指数
1
解决办法
80
查看次数

标签 统计

python ×1

python-3.x ×1