id() 返回对象的唯一标识

内置函数 id(),Python 官方文档描述如下:

help(id)
Help on built-in function id in module builtins:

id(obj, /)
    Return the identity of an object.
    
    This is guaranteed to be unique among simultaneously existing objects.
    (CPython uses the object's memory address.)

返回对象的唯一标识。该标识是一个整数,在此对象的生命周期中保证是唯一且恒定的。

CPython 中该标识是对象的内存地址。

id(1), id(1.0)
(140736642126656, 2785998726512)
1 == 1.0
True
# 两个变量引用了同一个值为 1 的对象
a = 1
b = int('01')
id(a), id(b)
(140736642126656, 140736642126656)
# 两个值为 1000 的不同对象
a = 1000
b = 1000
id(a), id(b)
(2785998745552, 2785998745360)
# 可变对象改变值,还是同一个对象
_list = [1,2,3]
print(id(_list),_list)
del _list[:]
print(id(_list),_list)
2785999307336 [1, 2, 3]
2785999307336 []