溫馨提示×

溫馨提示×

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

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

python中id函數(shù)是如何運行的

發(fā)布時間:2020-07-03 17:30:03 來源:億速云 閱讀:165 作者:清晨 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關python中id函數(shù)是如何運行的,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

id(object)

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

Python版本: Python2.x Python3.x

Python英文官方文檔解釋:

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.

注:一個對象的id值在CPython解釋器里就代表它在內(nèi)存中的地址(Python的c語言實現(xiàn)的解釋器)。

代碼實例:

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判斷兩個對象是否相等時,依據(jù)就是這個id值

is與==的區(qū)別就是,is是內(nèi)存中的比較,而==是值的比較

知識點擴展:

Python id() 函數(shù)

描述

id() 函數(shù)返回對象的唯一標識符,標識符是一個整數(shù)。

CPython 中 id() 函數(shù)用于獲取對象的內(nèi)存地址。

語法

id 語法:

id([object])

參數(shù)說明:

object -- 對象。

返回值

返回對象的內(nèi)存地址。

實例

以下實例展示了 id 的使用方法:

>>>a = 'runoob'
>>> id(a)
4531887632
>>> b = 1
>>> id(b)
140588731085608

關于python中id函數(shù)是如何運行的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

AI