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

 

 

 

 

posted @ 2019-10-23 15:27  隐逸天涯  阅读(159)  评论(0编辑  收藏  举报