python中id函數(shù)運(yùn)行方式
id(object)
功能:返回的是對(duì)象的“身份證號(hào)”,唯一且不變,但在不重合的生命周期里,可能會(huì)出現(xiàn)相同的id值。此處所說(shuō)的對(duì)象應(yīng)該特指復(fù)合類(lèi)型的對(duì)象(如類(lèi)、list等),對(duì)于字符串、整數(shù)等類(lèi)型,變量的id是隨值的改變而改變的。
Python版本: Python2.x Python3.x
Python英文官方文檔解釋?zhuān)?/p>
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)存中的比較,而==是值的比較
知識(shí)點(diǎn)擴(kuò)展:
Python id() 函數(shù)
描述
id() 函數(shù)返回對(duì)象的唯一標(biāo)識(shí)符,標(biāo)識(shí)符是一個(gè)整數(shù)。
CPython 中 id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址。
語(yǔ)法
id 語(yǔ)法:
id([object])
參數(shù)說(shuō)明:
object -- 對(duì)象。
返回值
返回對(duì)象的內(nèi)存地址。
實(shí)例
以下實(shí)例展示了 id 的使用方法:
>>>a = ’runoob’>>> id(a)4531887632>>> b = 1>>> id(b)140588731085608
到此這篇關(guān)于python中id函數(shù)運(yùn)行方式的文章就介紹到這了,更多相關(guān)python的id函數(shù)如何運(yùn)行內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. springboot項(xiàng)目整合druid數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn)2. android 控件同時(shí)監(jiān)聽(tīng)單擊和雙擊實(shí)例3. Java Media Framework 基礎(chǔ)教程4. Python 忽略文件名編碼的方法5. 解決vue頁(yè)面刷新,數(shù)據(jù)丟失的問(wèn)題6. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis7. SpringBoot使用Captcha生成驗(yàn)證碼8. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作9. android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器(無(wú)bug)10. 在Mac中配置Python虛擬環(huán)境過(guò)程解析
