自學python 9 可變與不可變

2021-10-04 08:27:52 字數 795 閱讀 8641

可變與不可變的區別是改變內容之後id是否改變。

舉個例子:

tuple1 =(1

,2,3

)print(id

(tuple1)

)# 2224284747400

tuple1 =(1

,2)print(id

(tuple1)

)# 2224286276488

list1 =[1

,2,3

]print(id

(list1)

)# 22242880003924)

print(id

(list1)

)# 2224288000392

在這個例子裡面,改變元組之後id改變,但是在列表裡加上乙個元素之後,列表的id沒有改變。

但是我總感覺這裡查了點什麼,這個例子舉得可能不是很好,因為我試過以同樣的方式更改列表,但是id發生了變化,**如下。

list1 =[1

,2,3

]print(id

(list1)

)# 1727363377160

list1 =[1

]print(id

(list1)

)# 1727360392584

不可變型別:int,str,float,tuple,frozenset( frozenset() 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。)

可變型別:dict,list,set。

python可變與不可變

可變與不可變型別的實質實際上就是儲存機制的不同 不可變型別 比如字串 被稱為不可變的字串行,每個字元底層均有規範的unicode碼對應,記憶體規定無法對單一的乙個字元進行修改,要修改字串必須重新指向乙個全新的字串 可變型別 一方面,該列表可以保證在位址不變的前提下,改變列表內容 另一方面,該引用也可...

python可變與不可變

不可變作用和意義 物件所指的記憶體中的值是可以改變的。變數名儲存的是乙個位址,該位址指向乙個具體的物件,並且不管對變數的值進行怎樣的操作,都不會改變變數名的儲存位址。字典dict 列表list 集合set 1.list list1 1 2,3 4 print list1,id list1 1,2,3...

Python中不可變與可變

在python的資料型別中,有用可變和不可變的兩種型別,那下面就來看一看兩種資料型別有什麼區別 old var hello print old var hello new var old var new var world print old var hello world 這符合我們的邏輯嗎?是不...