python教程 可变类型与不可变类型

python的可变类型与不可变类型


Python有六种数据类型:数字类型、字符串类型、列表类型、元组类型、字典类型和集合类型

其中不可变类型包括三种:数字类型、字符串类型和元组类型

剩余三种为可变类型:列表类型、字典类型和集合类型

什么叫不可变类型:

当一个变量被赋值后,这个变量所代表的内存块中的数据就已经不可再改变了,

在不可变类型中,如果你改变了一个变量的值,如a = 1改为了a = 2,并不是说a的值被改变了,即并不是a指向的原有内存块中的数据被改变了,而是系统重新给a分配了一块内存用于存放新值,原有的内存块已经被注销了。
在这里插入图片描述
Python中的数字、字符串和元组类型都是这样的,如果你改变它的值,它就会被重新分配内存空间,此时的它已经不是原来的它了。

对于可变类型来说,你改变了它原有的值它的起始位置是不变的,起始位置不变,我们就认为这个变量本身没有改变,只是它里面的值改变了,例如:
在这里插入图片描述
总结:对不可变类型的变量来说,重新赋值相当于重建了一个不可变类型,

对于可变类型的变量来说,无论如何操作这个变量,这个变量的起始内存地址不变,除非注销它。

了解可变类型与不可变类型的特性,在很多时候有重要的作用,如函数的参数传递过程中。

猜你喜欢

转载自blog.csdn.net/eisenhowerlong/article/details/88364375