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),名不变,则对象不变;名变,则对象变。