●不可變型別,記憶體中的資料不允許被修改:
●可變型別,記憶體中的資料可以被修改:
a =1a = 「hello」
a =[1, 2,3]
a =[3,2, 1]
demo_ list = [1, 2, 3]
print("定義列表後的記憶體位址%d" % id(demo_list))
demo_ list. pop(0)
demo_ list. remove(2)
demo_ list[0] = 10
print ("修改資料後的記憶體位址%d" % id(demo_list))
demo_ dict =
print ("定義字典後的記憶體位址%d" % id(demo_dict))
demo_dict["age"] = 18
demo_dict . pop( "name" )
demo_dict ["name'"] =「老王」
print("修改資料後的記憶體位址%&d" % id(demo _dict))
注意:字典的key只能使用不可變型別的資料●python 中內建有乙個名字叫做hash(o) 的函式注意
1.可變型別的資料變化,是遇過方法來實現的
2.如果給乙個可變型別的變數,賦值了乙個新的資料,引用會修改
●變數不再對之前的資料引用
●變數改為對新賦值的資料引用
接收乙個不可變型別的資料作為引數
返回結果是乙個整數
●雜湊是一種演算法,其作用就是提取資料的特徵碼(指紋)
相同的內容得到相同的結果
不同的內容得到不同的結果
●在python 中,設定字典的鍵值對時,會首先對key進行hash已決定如何在記憶體中儲存字典的數
據,以方便後續對字典的操作:增、刪、改、查
鍵值對的key必須是不可變型別資料
鍵值對的value可以是任意型別的資料
可變和不可變
可變和不可變 不可變 物件所指向的記憶體中的值是不可以改變 不可變型別 int ser float 元組tuple num 10s1 abc print id s1 s1 abcd print id s1 t1 2 5,6 print id t1 t1 2 5 print id t1 可變的 物件所...
python可變與不可變
可變與不可變型別的實質實際上就是儲存機制的不同 不可變型別 比如字串 被稱為不可變的字串行,每個字元底層均有規範的unicode碼對應,記憶體規定無法對單一的乙個字元進行修改,要修改字串必須重新指向乙個全新的字串 可變型別 一方面,該列表可以保證在位址不變的前提下,改變列表內容 另一方面,該引用也可...
python可變與不可變
不可變作用和意義 物件所指的記憶體中的值是可以改變的。變數名儲存的是乙個位址,該位址指向乙個具體的物件,並且不管對變數的值進行怎樣的操作,都不會改變變數名的儲存位址。字典dict 列表list 集合set 1.list list1 1 2,3 4 print list1,id list1 1,2,3...