中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

關于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

九龙坡区| 伊川县| 洮南市| 保德县| 黑龙江省| 历史| 龙里县| 平原县| 内丘县| 陇南市| 隆回县| 迭部县| 德庆县| 花莲市| 沭阳县| 南澳县| 日土县| 石城县| 丹凤县| 天气| 龙井市| 禹城市| 西峡县| 县级市| 太原市| 吕梁市| 伊宁市| 乌兰县| 平远县| 兰考县| 蛟河市| 定兴县| 彩票| 延安市| 巴塘县| 天等县| 闵行区| 高雄市| 海林市| 汉寿县| 西乡县|