python之可變和不可變資料型別

2021-10-08 04:31:54 字數 1247 閱讀 1682

定義:

可變型別定義:變數值改變但是變數位址不會改變 (set(集合)list(列表)dictionary(字典))

不可變型別定義:變數值改變,變數位址必須改變(number(數值)string(字串)tuple(元組))

舉例說明:

可變型別舉例(**如下):

list1 = [1, 2, 3, 4, 5]

print(id(list1)) #list1的記憶體位址

list2 = list1

print(id(list2)) #list2的記憶體位址

list1.remove(1)

print(id(list1), id(list2)) #修改值後的list1,list2的記憶體位址

print(list2)

執行結果為:

2996623659528

2996623659528

2996623659528 2996623659528

[2, 3, 4, 5]

list1 = [1, 2, 3, 4, 5]

print(id(list1)) #list1的記憶體位址

list2 = list1

print(id(list2)) #list2的記憶體位址

list1.remove(1)

print(id(list1), id(list2)) #修改值後的list1,list2的記憶體位址

print(list2)

執行結果為:

2996623659528

2996623659528

2996623659528 2996623659528

[2, 3, 4, 5]

————————————————

從程式裡,我們可以看到,記憶體位址是一直沒有發生改變的,那麼可以知道list1和list2共用乙個記憶體位址,意思就是說修改了list1的值那麼list2也會改變,並且我們修改了這個記憶體位址裡儲存的值之後,位址也沒有發生改變那麼就能得出這就是可變資料型別的特徵。

不可變型別舉例(**如下):

str1 = 「點讚哦」

print(id(str1))

str1 = 「這次一定」

print(id(str1))

執行結果為:

1494797054000

1494797054096

分析:和上面對比後是不是變得很清晰,不可變資料型別在重新賦值時,是在記憶體中重新劃分記憶體位址,而不是在原有基礎上進行修改,所以我們叫它不可變資料型別

python之可變資料型別與不可變資料型別

可變資料型別與不可變資料型別的區別 當不同的兩個變數賦值相同時,變數位址不相同的為可變資料型別,反之為不可變資料型別 不可變資料型別有哪些 number 數字 string 字串 tuple 元組 可變資料型別有哪些 set 集合 list 列表 dictionary 字典 使用 is 運算子判斷資...

Python中的可變資料型別和不可變資料型別

python的基本資料型別大致可分為6類 1.number 數字 2.string 字串 3.tuple 元組 4.list 列表 5.dictionary 字典 6.sets 集合 bool布林型別 int整型 float浮點型 complex複數等都歸為number數字型別 這6種型別又可以分為...

python 可變資料型別和不可變資料型別

不可變資料型別更改後位址發生變化,可變資料型別更改後位址不發生變化。看 說話 a 1 int b string string c 1,2 tuple print type a id a print type b id b print type c id c a 1b 1 c 3 4 print a,...