您的位置:

Python id()函数——标识对象的唯一身份

一、id()函数介绍

Python中的id()函数是用来获取对象的唯一标识的函数,在Python的内存管理中,所有的对象都有一个唯一的id值,这个值可以通过id()函数来获取。

a = 1
print(id(a))

上述代码输出结果为:

140706924943152

从输出结果可以看出,整数对象1的id值为140706924943152。

二、id()函数的作用

id()函数的主要作用是判断两个对象是否为同一个对象。

a = 1
b = a
print(id(a))
print(id(b))

上述代码输出结果为:

140706924943152
140706924943152

从输出结果可以看出,a和b的id值相同,说明a和b指向的是同一个整数对象。

三、id()函数在变量赋值和函数传参中的应用

在Python中,变量的赋值是将一个对象的引用赋给变量,而不是将对象的值赋给变量。

a = 1
b = a
a = 2
print(a)
print(b)
print(id(a))
print(id(b))

上述代码输出结果为:

2
1
140706924943184
140706924943152

从输出结果可以看出,a和b分别指向了不同的整数对象。

在函数传参中,也是将对象的引用传递给函数,而不是将对象的值传递给函数。

def change_list(list):
    list.append(1)
    print(id(list))
list1 = [1, 2, 3]
change_list(list1)
print(list1)
print(id(list1))

上述代码输出结果为:

139851487005888
[1, 2, 3, 1]
139851487005888

从输出结果可以看出,在函数change_list中对list对象进行了修改后,传入的list1对象也发生了相应的改变,说明list1和list对象实际上是同一个对象。

四、总结

Python中的id()函数可以用来获取一个对象的标识符,它主要用于:

  • 判断两个对象是否是同一个对象
  • 在变量赋值和函数传参中,确定对象的引用是否指向同一个对象

了解和掌握id()函数的使用可以帮助我们更好地理解Python的内存管理机制,避免出现不必要的错误。