python 中有下面幾種不可變型別:
不可變型別:就是無法修改的型別,我們無法在記憶體中直接修改這個變數(如 100,「student」),如果我們嘗試對不可變型別進行修改,就會斷開原始的引用,重新分配記憶體位址。
除了不可變型別,其餘的都是可變型別,如:
可變型別:就是可以進行修改的型別,修改可變型別的值不會斷開原始引用。
# 定義不可變型別
a =100
print(id
(a))
# 嘗試修改不可變型別的值
a +=1;
print(id
(a))
# 定義可變型別
arr =[1
,2,3
]print(id
(arr)
)# 嘗試修改可變型別的值4)
print(id
(arr)
)**執行結果如下:
503603008
503603024
18622784
18622784
a =
100b = a
a +=
1print(id
(a),
id(b)
)print
(a,b)
arr1 =[1
,2,3
]arr2 = arr1
arr1.remove(2)
print(id
(arr1),id
(arr2)
)print
(arr1,arr2)```
執行結果如下:
492330832
492330816
101100
25962816
25962816[1
,3][
1,3]
Python函式之可變型別與不可變型別
在python語言中,string,tuple,number為不可變型別,但是dict,list為可變型別。所謂的不可變型別就是,a 5實際上指的是吧值為5的記憶體指向a,如果在執行a 10相當於又宣告了乙個值為10的記憶體指向a。例如 結果 兩次列印的a的記憶體位址是不同的。但是對於list的可變...
Python的可變型別與不可變型別
今天同事問了我乙個問題,關於python中的可變型別與不可變型別。之前我只知道python中有可變型別與不可變型別,至少我知道數字型是不可變型別的。今天就趁著這個機會把這個問題徹底搞清楚。python的資料型別大致可以分成數字型,字元型,列表型,元組型和字典型。其中,數字型,字元型和元組型是不可變型...
Python的可變型別與不可變型別
python的每個物件都分為可變和不可變。在核心型別中 不可變型別 a 0 1,2 來個簡單的list 最初,list 和其中各個元素的id 是這樣的。print origin print hex id a a for x in a print hex id x x print 我們把第乙個元素改改...