python基础之可变数据类型与不可变数据类型

一、什么可变数据类型和不可变数据类型

可变数据类型:value值改变,id值不变;不可变数据类型:value值改变,id值也随之改变。

二、如何确定一种数据类型是可变的还是不可变的

根据可变数据类型与不可变数据类型的概念,只需要在改变value值的同时,使用id()函数查看变量id值是否变化就可以知道这种数据类型是可变的还是不可变的了。

数字:python基础之可变数据类型与不可变数据类型,从图中可以看出当数字的值改变时,变量id值也改变了,所以数字是不可变数据类型

字符串:python基础之可变数据类型与不可变数据类型,从图中可以看出当字符串的值改变时,变量id值也改变了,所以字符串是不可变数据类型

列表:python基础之可变数据类型与不可变数据类型,从图中可以看出,当列表中的某个元素改变时,列表的id值没有改变,所以列表是可变数据类型

字典:python基础之可变数据类型与不可变数据类型,从图中可以看出,当字典的键值对的value部分改变时,字典的id值没有改变,所以字典是可变数据类型

布尔:python基础之可变数据类型与不可变数据类型,从图中可以看出当布尔的值改变时,变量id值也改变了,所以布尔值是不可变数据类型

元祖:因为元祖元素是不可修改的,所以元祖是不可变数据类型

三、小数池

python中为了减少开辟内存造成的时间开销,对于三位内的整型数字类型数据,在开辟一块内存空间后,后面的三位内的整型数据都放到这个内存空间中,所以三位以内的整型数字类型的id值都是相同的。

上一篇:逻辑运算符、三元运算符、for循环、stack(栈),heap(堆),方法区,静态域


下一篇:如何给女朋友讲明白:Java 中 Stack(栈) 与 Heap(堆)