python中可变类型与不可变类型 + 类型转换

不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。
可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

其实非常简单:(在堆中数据不能改变的就是不可以改变的类型,否则就是可以改变的类型)

python3中有6中数据类型:

数字

字符串

元组

列表

字典

集合(set)

可以这样理解一开始当python编译器初始化的时候已经初始化好了的数据就是不可变类型(数字,字符串,元组),

也就是id已经固定了,一个id对应唯一的值

可变类型:列表,字典,集合(set)

int()

str()

list()

tuple()

dict()  注意这个必须是一个二维的元素 类似于[('name','lucy'),('age','18')] 这种Json串

set()

bool()特别说明只有为None,或者‘’(空字符串),0的时候才是False,其余时候都是True

如果要修改全局变量是可变类型则不需要加global,如果是不可变类型则需要添加global

 

原文地址:https://www.cnblogs.com/whr-blogs/p/python_ChangeOrNot.html