python 可变类型与不可变类型
1 数据类型分类
Python中的数据包括:Number(包括Int,Float,Bool和Complex),String,Tuple,List,Dict,Set。 这几种数据类型按照是否可变,有如下分类: 不可变类型:Number,String,Tuple 可变类型:List,Dict,Set
2 不可变类型
地址不改变的情况下,值永远不变,如果想改变其值,地址一定发生了改变。
这些类型的数据一旦经过初始化创建成功,对应内存地址上的数据本身便不能发生变化
1 a = 10 2 print(a, id(a)) 3 a = 20 4 print(a, id(a)) 5 # 10 1370259856 6 # 20 1370260176
3 可变类型
在地址不变的情况下。值可以发生改变
1 list1 = [1, 2, 3, 4] 2 print(id(list1)) 3 for i in range(len(list1)): 4 print(id(list1[i]), end='\t') 5 print('\n') 6 list1[1] = 4 7 print(id(list1)) 8 for i in range(len(list1)): 9 print(id(list1[i]), end='\t') 10 print('\n') 11 12 # 42854408 13 # 1366458480 1366458512 1366458544 1366458576 14 # 15 # 42854408 16 # 1366458480 1366458576 1366458544 1366458576