1. 程式人生 > >Python與JavaScript對比:值型別與引用型別

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的一致,所以也會被修改