首页 > 编程语言 > 详细

Python可变类型和不可变类型

时间:2020-09-04 23:46:34      阅读:98      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 

技术分享图片
 1 #不可变数据类型
 2 int_1 = 1
 3 print(id(int_1))
 4 #OUT:140735497665600
 5 int_1 = 2
 6 print(id(int_1))
 7 #OUT:140735497665632
 8 #id()返回int_1的唯一标识符,等同于int_1的内存地址
 9 #int_1=2并不是在原来的内存地址修改值,而是在另一个内存地址存储“2”,因此变量int_1的内存地址发生了改变
10 #旧内存区域如果未被其他变量指向,那么会被废弃,并由python自动回收内存空间
11 
12 #可变数据类型
13 list_1 = [1, 2, 3]
14 print(id(list_1))
15 #OUT:3234925597192
16 list_1.append(4)#list_1添加元素4
17 print(id(list_1))
18 #OUT:3234925597192
19 #list_1发生改变,但list_1的id并未发生改变,这表明是在原有的内存地址修改的
20 list_2 = list_1
21 print(id(list_1))
22 #OUT:1238165312008
23 print(id(list_2))
24 #OUT:1238165312008
25 #list_2和list_1的id相同,那么修改list_2的值,list_1的值也会发生改变,
26 #但是这种改变可能不是我们所希望的。
27 #因此,在对列表、字典这类可变数据对象进行操作时,要特别注意这种修改所产生的副作用
View Code

 

Python可变类型和不可变类型

原文:https://www.cnblogs.com/Aoke/p/13616638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!