码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-08-25 23:29:46      阅读:169      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!