代码点读机 / Python / id

id Python · 内置函数

`id` 返回对象在内存中的唯一地址标识。就像每个人都有唯一的身份证号码,虽然看不见摸不着,但能唯一标识这个人。地址是一个整数,每次程序运行可能不同。

怎么用

id(对象)

小例子

a = 10
b = a
print(id(a))
print(id(b))   # a 和 b 指向同一个对象,地址相同
print(id(10))

运行结果

140732345678912
140732345678912
140732345678912

对比:查看两个变量是否指向同一对象

列表1 = [1, 2, 3]
列表2 = [1, 2, 3]
print(id(列表1))
print(id(列表2))
print(id(列表1) == id(列表2))   # False
虽然内容相同,但它们是不同的对象,地址不同。

常见使用场景

1. 调试时确认两个变量是否共享同一对象。
2. 理解 Python 的引用机制。
3. 验证不可变对象的缓存(如小整数)。

提醒:- `id` 返回的地址在对象生命周期内唯一,但对象销毁后地址可能被复用。 - 不要依赖 `id` 的值进行比较,应该用 `is` 来判断是否同一对象。 - 小整数和短字符串可能被缓存,导致不同变量有相同 id。

官方文档:https://docs.python.org/zh-cn/3/library/functions.html#id

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条