Python與JavaScript對比:值型別與引用型別
終於鼓起勇氣學習Python了,簡單做些筆記
Python值型別:Number、str、tuple、num 等
a = 2
b = a
a = 3
修改值型別的值,只是讓它指向一個新的記憶體地址,並不會改變變數b的值
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Python引用型別:list、dict 等 本身允許修改
lista = [1,2]
listb = lista
lista[0] = 3
修改引用型別的值,因為listb的地址和lista的一致,所以也會被修改
一般只為了複製值,可以使用分片操作
listb = lista[:]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JavaScript值型別:Number、string、bollean、undefined 等
var a = 1;
var b = a;
a = 3;
修改值型別的值,只是讓它指向一個新的記憶體地址,並不會改變變數b的值
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JavaScript引用型別:物件、陣列、函式、null(空指標) 等
var arrA = [1,2,3];
var arrB = arrA;
arrA[0] = 4;
修改引用型別的值,因為listb的地址和lista的一致,所以也會被修改