python的函式(三) 可變型別與不可變型別

2021-10-08 11:07:28 字數 993 閱讀 6537

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 我們把第乙個元素改改...