python中,String、Tuple和Numbers是不可更改類型,而List和Dictionary是可更改類型。
1)變量定義
不可更改類型:變量a=5賦值后,再賦值a=10,這里實(shí)際是新生成一個(gè)Int對象10,a引用指向它,而5被丟棄。
可更改類型:變量la=[1,2,3,4]賦值后,再賦值la[2]=5,則是將la的第三個(gè)元素值更改,本身la沒有動(dòng),只是內(nèi)部的元素被修改了,而String和Tuple的元素是不能修改的。
2)參數(shù)傳遞
不可更改類型:類似c++的值傳遞,傳遞過去的只是對象的復(fù)制。如fun(a),函數(shù)內(nèi)部修改a的值不會(huì)影響外部的對象a;
可更改類型:類似c++的引用傳遞,傳遞的是對象本身。如fun(la),函數(shù)內(nèi)部修改la會(huì)影響外部的la引用。