📅  最后修改于: 2023-12-03 15:34:01.174000             🧑  作者: Mango
id()
函数是Python内置函数之一,用于获取对象的内存地址(唯一标识符)。
id(object)
参数说明:
object
:表示需要获取内存地址的对象。module
对象)地址。返回值说明:
a = 1
b = 1.0
c = "Hello World"
d = [1, 2, 3]
e = {1: "a", 2: "b", 3: "c"}
print("a: ", id(a))
print("b: ", id(b))
print("c: ", id(c))
print("d: ", id(d))
print("e: ", id(e))
输出结果:
a: 140714711410576
b: 497820560464
c: 2798375839176
d: 2798376161736
e: 2798375672456
从输出结果可以看出,不同类型对象具有不同的内存地址,即使它们的值相同。
a = 1
b = a
c = a + 1
print("a: ", id(a))
print("b: ", id(b))
print("c: ", id(c))
输出结果:
a: 140714711410576
b: 140714711410576
c: 140714711410608
从输出结果可以看出,同一个变量和不同变量(但值相等)具有相同的内存地址,而不同变量(且值不同)具有不同的内存地址。
id()
函数无法保证内存地址具有稳定性,不同运行条件下可能具有不同的内存地址。因此不应该依赖内存地址来比较对象是否相等,应该使用==
运算符。id()
函数返回的内存地址通常是 CPython 实现的内存地址,其它 Python 实现可能返回不同的内存地址。id()
函数返回的内存地址通常是一串十进制整数,但在一些特殊情况下(如PyPy3)可能返回一串十六进制字符串,应注意进行判断。