第七章:可更改(mutable)与不可更改(immutable)

python中,String、Tuple和Numbers是不可更改类型,而List和Dictionary是可更改类型。

1)变量定义

不可更改类型:变量a=5赋值后,再赋值a=10,这里实际是新生成一个Int对象10,a引用指向它,而5被丢弃。

可更改类型:变量la=[1,2,3,4]赋值后,再赋值la[2]=5,则是将la的第三个元素值更改,本身la没有动,只是内部的元素被修改了,而String和Tuple的元素是不能修改的。

2)参数传递

不可更改类型:类似c++的值传递,传递过去的只是对象的复制。如fun(a),函数内部修改a的值不会影响外部的对象a;

可更改类型:类似c++的引用传递,传递的是对象本身。如fun(la),函数内部修改la会影响外部的la引用。

你可能感兴趣的:(第七章:可更改(mutable)与不可更改(immutable))