可變型別與不可變型別

2022-05-29 22:03:17 字數 978 閱讀 3760

一、什麼可變資料型別和不可變資料型別

可變資料型別:value值改變,id值不變;不可變資料型別:value值改變,id值也隨之改變。

二、如何確定一種資料型別是可變的還是不可變的

根據可變資料型別與不可變資料型別的概念,只需要在改變value值的同時,使用id()函式檢視變數id值是否變化就可以知道這種資料型別是可變的還是不可變的了。

數字:

,從圖中可以看出當數字的值改變時,變數id值也改變了,所以數字是不可變資料型別

字串:

,從圖中可以看出當字串的值改變時,變數id值也改變了,所以字串是不可變資料型別

列表:

,從圖中可以看出,當列表中的某個元素改變時,列表的id值沒有改變,所以列表是可變資料型別

字典:

,從圖中可以看出,當字典的鍵值對的value部分改變時,字典的id值沒有改變,所以字典是可變資料型別

布林:

,從圖中可以看出當布林的值改變時,變數id值也改變了,所以布林值是不可變資料型別

元祖:因為元祖元素是不可修改的,所以元祖是不可變資料型別

三、小數池

python中為了減少開闢記憶體造成的時間開銷,對於三位內的整型數字型別資料,在開闢一塊記憶體空間後,後面的三位內的整型資料都放到這個記憶體空間中,所以三位以內的整型數字型別的id值都是相同的。

可變型別與不可變型別

可變型別 值發生改變時,記憶體位址不變,證明在改變原值 不可變型別 值發生改變時,記憶體位址也發生改變,即id也變,證明是沒有在改變原值,是產生新的值 1.數字型別 x 10 id x 1830448896 x 20 id x 1830448928 記憶體位址改變了,說明整型是不可變資料型別,浮點型...

2 1 7可變型別與不可變型別

python有兩種內建的或是已經定義過的型別。不可變型別不提供變更內容的方法。比如,變數x被置為6,它沒有增長的方法。如果你需要加1,你需要建立乙個新的物件。my list 1,2,3 my list 0 4print my list 4,2,3 the same list as changedx ...

python可變型別與不可變型別

學習版本3.5.2 python的基礎型別數值 字串和元組都是不可變型別,列表和字典時可變型別 1.number 字串 id 1 4297546560 id 2 4297546592 a 1 id a 4297546560 a 2 id a 4297546592 b 1 id b 429754656...