Python id() 函数用法

2023-09-17 22:28:05

id()函数返回对象的标识。在 Python 中,所有变量或文本值都是对象,每个对象都有一个唯一的标识作为整数,该标识在其整个生命周期中对该对象保持不变。

语法:

id(object)

参数:

对象:需要返回其标识的对象。

返回值:

返回一个整数值。

文本值的 ID(Id of Literal Values)

所有文字值都是 Python 中的对象。所以它们将具有 Id 值。下面的示例演示文本值的标识。

print("Id of 10 is: ", id(10))
print("Id of 10.5 is: ", id(10.5))
print("Id of 'Hello World' is: ", id('Hello World'))
print("Id of list is: ", id([1, 2, 3, 4, 5]))

输出:

Id of 10 is: 8791113061
Id of 10.5 is: 3521776
Id of 'Hello World' is: 60430408
Id of list is: 5466244

请注意,本地PC上的输出会有所不同。

变量的 ID(Id of Variables)

id() 方法还返回变量或对象的标识,如下所示。

num = 10
mystr = 'Hello World'
print("Id of num is: ",id(i))
print("Id of mystr is: ",id(mystr))

输出:

Id of num is: 140730065134256
Id of mystr is: 1838584467312

两个相同值的标识相同,如下所示。

num = 10
print("Id of num is: ", id(num))
print("Id of 10 is: ",id(10))

输出:

Id of i is: 8791113061696
Id of 10 is: 8791113061696

在上面的示例中,id 10 和变量 num 相同,因为两者都具有相同的文本值。

自定义类对象的 ID(Id of Custom Class Objects)

下面获取用户定义类的对象的 id。

class student:
    name = 'John'
    age = 18
    
std1 = student()
print(id(std1))
std2 = student()
print(id(std2))
std3 = student()
std3.name = 'Bill'
print(id(std2))

输出:

58959408
59632455
58994080

上面,每个对象都有不同的 id,无论它们是否具有相同的数据。

本文内容总结: