首页 > 编程语言 > 详细

Python求索之路2——深浅拷贝、函数

时间:2016-01-18 18:53:08      阅读:98      评论:0      收藏:0      [点我收藏+]

一、深浅拷贝

深浅拷贝是指copy模块下的copy()和deepcopy()方法。

1、浅拷贝

示例:

>>> import copy
>>> a = hello word
>>> b = {1:gome,2:ahaii,3:[1,2,3,4]}
>>> a1 = copy.copy(a)
>>> b1 = copy.copy(b)
>>> print id(a)
140458175739296
>>> print id(a1)
140458175739296
>>> print id(b)
140458175695680
>>> print id(b1)
140458175749208
>>> print id(b[3])
140458175609096
>>> print id(b1[3])
140458175609096
>>> print id(b[3][0])
41361752
>>> print id(b1[3][0])
41361752

浅拷贝时,变量的内存地址不会发生改变。

2、深拷贝

示例1:

>>> import copy
>>> a = hello word
>>> print id(a)
140069292463520
>>> a1 = copy.deepcopy(a)
>>> print id(a1)
140069292463520

对于字符串或者整型,深拷贝同浅拷贝效果一样,其内存地址不会发生改变。

示例2:

>>> import copy
>>> b = {1:hello word,2:ahaii,3:[1,2,3,4]}
>>> b1 = copy.deepcopy(b)
>>> print id(b)
140442326100800
>>> print id(b1)
140442326156184
>>> print id(b[3])
140442326014216
>>> print id(b1[3])
140442326097288
>>> print id(b[3][0])
32555352
>>> print id(b1[3][0])
32555352

深拷贝时,除了最内层数据(字符串或数字)外,其他数据都会重新创建一份,内存地址发生改变。

 

二、函数之动态参数

(待续)

Python求索之路2——深浅拷贝、函数

原文:http://www.cnblogs.com/ahaii/p/5140165.html

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