id(object)
功能:返回的是對象的“身份證號”,唯一且不變,但在不重合的生命周期里,可能會出現相同的id值。此處所說的對象應該特指復合類型的對象(如類、list等),對于字符串、整數等類型,變量的id是隨值的改變而改變的。
python版本:Python2.xPython3.x
Python英文官方文檔解釋:
Returnthe“identity”ofanobject.Thisisaninteger(orlonginteger)whichisguaranteedtobeuniqueand
constantforthisobjectduringitslifetime.Twoobjectswithnon-overlappinglifetimesmayhavethesameid()value.
CPythonimplementationdetail:Thisistheaddressoftheobjectinmemory.
注:一個對象的id值在CPython解釋器里就代表它在內存中的地址(Python的c語言實現的解釋器)。
代碼實例:
classObj():
def__init__(self,arg):
self.x=arg
if__name__=='__main__':
obj=Obj(1)
printid(obj)#32754432
obj.x=2
printid(obj)#32754432
s="abc"
printid(s)#140190448953184
s="bcd"
printid(s)#32809848
x=1
printid(x)#15760488
x=2
printid(x)#15760464
用is判斷兩個對象是否相等時,依據就是這個id值
is與==的區別就是,is是內存中的比較,而==是值的比較
以上內容為大家介紹了python培訓之id函數如何運行,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。