最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的id()函數(shù)指的什么

 更新時(shí)間:2017年10月17日 11:37:28   作者:djskl  
id() 函數(shù)用于獲取對象的內(nèi)存地址。很多朋友不清楚python中的id函數(shù)到底是什么?接下來小編給大家分享本文幫助大家學(xué)習(xí)

Python官方文檔給出的解釋是

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

2、一個(gè)對象的id值在CPython解釋器里就代表它在內(nèi)存中的地址。(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)   #15760464 

令外,用is判斷兩個(gè)對象是否相等時(shí),依據(jù)就是這個(gè)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與==的區(qū)別就是,is是內(nèi)存中的比較,而==是值的比較

總結(jié)

以上所述是小編給大家介紹Python中的id函數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

汽车| 仪征市| 临夏市| 龙游县| 浙江省| 大兴区| 望谟县| 射洪县| 北川| 宾川县| 乡宁县| 共和县| 辰溪县| 岱山县| 长沙市| 互助| 新沂市| 平潭县| 抚州市| 荥经县| 宁夏| 东方市| 黎城县| 涿州市| 灌云县| 桐城市| 丹东市| 清徐县| 巴林右旗| 平昌县| 万源市| 沾化县| 天全县| 宣城市| 土默特左旗| 泉州市| 泰宁县| 砀山县| 阿勒泰市| 洛南县| 南阳市|