Python3 id()函數(shù) -返回對象的唯一標(biāo)識符

2023-04-23 15:13 更新

Python 內(nèi)置函數(shù) Python 內(nèi)置函數(shù)


描述

? id()? 函數(shù)用于返回對象的唯一標(biāo)識符,通常情況下,這個唯一標(biāo)識符是這個對象的內(nèi)存地址。

 注意,在python的官方文檔中并沒有直接提到這個唯一標(biāo)識符是內(nèi)存地址。但提到了該方法在CPython中是通過獲取內(nèi)存中對象的地址實現(xiàn)的。


語法

?id()? 語法:

id([object])

參數(shù)說明:

  • object:一個對象。

返回值

返回對象的唯一標(biāo)識符(在CPython中,這個值是對象的內(nèi)存地址),這是一個整型數(shù)值


實例

以下實例展示了 ?id() ?的使用方法:

a = 'w3cschool' # 一個字符串對象
x = id(a) # 使用id()函數(shù)獲得這個字符串對象的唯一標(biāo)識符(內(nèi)存地址)
print("字符串對象a的唯一標(biāo)識符(內(nèi)存地址)為:",x) # 輸出這個值

運行結(jié)果如下:

字符串對象a的唯一標(biāo)識符(內(nèi)存地址)為: 2875940289392
因為每次運行時使用的內(nèi)存都是不一樣的,所以運行結(jié)果并不一定是2875940289392,也可能是其他數(shù)值!

應(yīng)用

?id()?函數(shù)因為返回的是對象的唯一標(biāo)識符,所以通常用來判斷兩個元素是不是同一個對象。

舉個例子,在python中,賦值語句不復(fù)制對象,而是創(chuàng)建目標(biāo)和對象的綁定關(guān)系,以字符串為例:

a = 'W3Cschool'
b =a 

這種賦值語句獲得的變量a和變量b都是指向同一個字符串對象(甚至不會多復(fù)制一份出來)

a = 'w3cschool' # 一個字符串對象
x = id(a) # 使用id()函數(shù)獲得這個字符串對象的唯一標(biāo)識符(內(nèi)存地址)
print("字符串對象a的唯一標(biāo)識符(內(nèi)存地址)為:",x) # 輸出這個值

b=a # 這樣一來b就相當(dāng)于把a復(fù)制到b中

print("字符串對象b的唯一標(biāo)識符(內(nèi)存地址)為:",id(b)) # 輸出b的內(nèi)存地址

Python 內(nèi)置函數(shù) Python 內(nèi)置函數(shù)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號