首页 > 编程语言 > 详细

Python 从零学起(纯基础) 笔记 之 深浅拷贝

时间:2016-08-25 23:27:53      阅读:249      评论:0      收藏:0      [点我收藏+]

深浅拷贝


 

1.

import  copy
#浅拷贝
copy.copy()
#深拷贝
copy.deepcopy()
#赋值
 =

2.  

对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址

对于 字典、元组、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的。

浅拷贝,在内存中只额外创建第一层数据。

深拷贝,在内存中将所有的数据重新创建一份排除最后一层,即:Python内部对字符串和数字的优化)

 

 1 import copy
 2 n1 = {"k1":"young","k2":123,"k3":[yy,456]}
 3 n2=n1
 4 print(id(n1),id(n2))
 5 n3 = copy.copy(n1)
 6 print(id(n1),id(n3))
 7 print(id(n1[k3]),id(n3[k3]))
 8 n3 = copy.deepcopy(n1)
 9 print(id(n1),id(n3))
10 print(id(n1[k3]),id(n3[k3]))

结果:

2304080 2304080

2304080 2897360

5343232 5343232

2304080 2872144

5343232 5341992

 

Python 从零学起(纯基础) 笔记 之 深浅拷贝

原文:http://www.cnblogs.com/Bro-Young/p/5808388.html

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