Python 中的 id 是一個非常重要的概念,用于表示對象在內(nèi)存中的地址。
在 Python 中,每個對象都有一個唯一的 id,它是一個整數(shù)值,可以使用內(nèi)置函數(shù) id() 來獲取。
a = 10 print(id(a)) #輸出: 140722674419088
使用 id() 函數(shù)可以檢查兩個變量是否引用同一個對象:
a = 10 b = a print(id(a)) print(id(b)) #輸出: 140722674419088 #輸出: 140722674419088
在 Python 中,可變對象比如列表、字典,其 id 可能會隨對象內(nèi)容的改變而改變:
a = [1, 2, 3] print(id(a)) #輸出: 140722674262784 a.append(4) print(id(a)) #輸出: 140722674262784 a = a + [5] print(id(a)) #輸出: 140722674098368
對于小整數(shù)和字符串等,Python 解釋器會緩存一個固定的對象,多個變量指向同一個對象,其 id 是一樣的:
a = 10 b = 10 print(id(a)) print(id(b)) #輸出: 140722674419088 #輸出: 140722674419088 c = 'hello' d = 'hello' print(id(c)) print(id(d)) #輸出: 2573880853072 #輸出: 2573880853072
在實際使用時,id 常常被用來比較兩個對象是否相等:
a = [1, 2, 3] b = [1, 2, 3] if id(a) == id(b): print('a and b are the same object.') else: print('a and b are not the same object.') #輸出: a and b are not the same object.