溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中id函數(shù)的運(yùn)行方法

發(fā)布時(shí)間:2020-08-07 09:53:52 來源:億速云 閱讀:114 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下python中id函數(shù)的運(yùn)行方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

id(object)

功能:返回的是對(duì)象的“身份證號(hào)”,唯一且不變,但在不重合的生命周期里,可能會(huì)出現(xiàn)相同的id值。此處所說的對(duì)象應(yīng)該特指復(fù)合類型的對(duì)象(如類、list等),對(duì)于字符串、整數(shù)等類型,變量的id是隨值的改變而改變的。

Python版本: Python2.x Python3.x

Python英文官方文檔解釋:

Return the “identity” of an object. This is an integer (or long integer) which is guaranteed to be unique and 
constant for this object during its lifetime. Two objects with non-overlapping lifetimes may have the same id() value.
CPython implementation detail: This is the address of the object in memory.

注:一個(gè)對(duì)象的id值在CPython解釋器里就代表它在內(nèi)存中的地址(Python的c語(yǔ)言實(shí)現(xiàn)的解釋器)。

代碼實(shí)例: 

class Obj():  
    def __init__(self,arg):  
        self.x=arg  
if __name__ == '__main__':  
       
    obj=Obj(1)  
    print id(obj)       #32754432  
    obj.x=2  
    print id(obj)       #32754432  
       
    s="abc"  
    print id(s)         #140190448953184  
    s="bcd"  
    print id(s)         #32809848  
       
    x=1  
    print id(x)         #15760488  
    x=2  
    print id(x)         #15760464

用is判斷兩個(gè)對(duì)象是否相等時(shí),依據(jù)就是這個(gè)id值

is與==的區(qū)別就是,is是內(nèi)存中的比較,而==是值的比較

以上是python中id函數(shù)的運(yùn)行方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI