在python中数据类型包含以下几类:
1.数字类型(Number):整型(int),浮点型(float),复数(complex)
2.字符串类型(String)
3.列表(List)
4.集合(Set)
5.元组(Tuple)
6.字典(Dict)
上面的类型中属于可变类型的是:Dict,List,Set
属于不可变类型的是:Boolean,Tuple,String,Number
判断是可变数据类型还是不可变数据类型用内存值是否可变来判断。
例如数字类型
num1 = 5
num2 = 5
print(id(num1))
print(id(num2))
num1 = 6
num2 = 6
print(id(num1))
print(id(num2))
上面代码输出的结果是
上面可以看到把5赋值给num1和num2的时候内存地址是相同的,把6赋值给num1和num2的时候内存地址也是相同的,num1和num2接收5和6内存就会发生变化,内存地址与值的对应关系是不能变的,这种就叫不可变数据类型
再来看下可变数据类型List
list = [1,2,3]
print(id(list))
list[0] = 3
print(id(list))
上面代码输出的结果是
可以看到把list的值改变,内存地址并没有发生变化,这种就是可变数据类型
我个人总结就是:当值发生改变内存地址也跟着改变的就是不可变数据类型,当值发生改变内存地址不会发生改变的就是可变数据类型。
以上仅代表我个人看法,如有错误请大神指点