91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于python里id函數的簡介

發布時間:2020-08-03 16:44:31 來源:億速云 閱讀:229 作者:清晨 欄目:編程語言

小編給大家分享一下關于python里id函數的簡介,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

python官方給出的id解釋為

id(object)

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.

由此可以看出:

1、id(object)返回的是對象的“身份證號”,唯一且不變,但在不重合的生命周期里,可能會出現相同的id值。此處所說的對象應該特指復合類型的對象(如類、list等),對于字符串、整數等類型,變量的id是隨值的改變而改變的。

2、一個對象的id值在CPython解釋器里就代表它在內存中的地址。(CPython解釋器:http://zh.wikipedia.org/wiki/CPython)

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)

令外,用is判斷兩個對象是否相等時,依據就是這個id值

class Obj():
    def __init__(self,arg):
        self.x=arg
    def __eq__(self,other):
        return self.x==other.x
    
if __name__ == '__main__':
   
    obj1=Obj(1)
    obj2=Obj(1)
    print obj1 is obj2  #False
    print obj1 == obj2  #True
    
    lst1=[1]
    lst2=[1]
    print lst1 is lst2  #False
    print lst1 == lst2  #True
    
    s1='abc'
    s2='abc'
    print s1 is s2      #True
    print s1 == s2      #True
    
    a=2
    b=1+1
    print a is b        #True
    
    a = 19998989890
    b = 19998989889 +1
    print a is b        #False

is與==的區別就是,is是內存中的比較,而==是值的比較。

看完了這篇文章,相信你對關于python里id函數的簡介有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

山西省| 泸州市| 确山县| 岚皋县| 崇州市| 孝昌县| 青龙| 洪雅县| 延吉市| 景泰县| 黄山市| 昆明市| 明水县| 青田县| 京山县| 剑阁县| 都匀市| 榆中县| 洛浦县| 公主岭市| 郑州市| 洪湖市| 丹江口市| 平度市| 富锦市| 抚松县| 应用必备| 扬州市| 山阴县| 杂多县| 罗田县| 和林格尔县| 太原市| 江门市| 广平县| 开江县| 满洲里市| 遵义县| 富锦市| 永寿县| 洪洞县|