Python的可变与不可变数据类型

Python3中包括六种数据类型:

1、数字(Number):

        int 整型

        long 长整型

        float 浮点数

        complex 复数

        布尔值(0和1)

2、字符串(String)

3、列表(List)

4、元组(Tuple)

5、字典(Dictionary)

6、集合(Set)

不可变类型:Number、String、Tuple
可变类型:List、Dictionary、Set
通过id函数查看变量的内存地址进行验证。

对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象。例如:对于不可变类型int,无论创建多少个不可变类型,只要值相同,都指向同个内存地址。

但是,复数类型特殊。。。有待研究

 

 复数也属于不可变类型,但存储地址会改变,这与复数特殊的存储方式有关。。。

   

对可变数据类型可以对内存中的数据直接进行修改, 并且不会导致变量引用地址的变化。但是这种修改仅限于Python中的内置方法, 比如list.append(), list.remove(), dict.pop(), dict.clear()等。如果要是进行重新赋值的操作的话, 一样会改变变量的地址指向。

不可变类型是指向值(Value),值不变,则对象不变;值变,则对象变。

可变数据类型是指向名字(Name),名不变,则对象不变;名变,则对象变。

原文地址:https://www.cnblogs.com/chen117/p/13361992.html