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

2023-04-23 15:13 更新

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


描述

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

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


語(yǔ)法

?id()? 語(yǔ)法:

id([object])

參數(shù)說(shuō)明:

  • object:一個(gè)對(duì)象。

返回值

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


實(shí)例

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

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

運(yùn)行結(jié)果如下:

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

應(yīng)用

?id()?函數(shù)因?yàn)榉祷氐氖菍?duì)象的唯一標(biāo)識(shí)符,所以通常用來(lái)判斷兩個(gè)元素是不是同一個(gè)對(duì)象。

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

a = 'W3Cschool'
b =a 

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

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)