python中的深拷贝与浅拷贝

1. python默认浅拷贝,即引用复制。
2. 注意,跨越数据层与计算层的实例,要注意使用后手动释放。
否则若计算层引用函数未退出,而数据层更新,则旧有的实例不会释放,造成内存泄漏。

3. 下面是使用copy来实现深拷贝的例子

>>> a = {}
>>> a[0] = set()
>>> a[0].add('1')
>>> a[0]
set(['1'])

>>> a[1] = a[0]
>>> a[1]
set(['1'])

>>> a[1].add('2')
>>> a[1]
set(['1', '2'])

>>> a[0]
set(['1', '2'])

>>> import copy
>>> a[2] = copy.deepcopy(a[1])
>>> a[2]
set(['1', '2'])

>>> a[2].add('3')
>>> a[2]
set(['1', '3', '2'])

>>> a[1]
set(['1', '2'])
>>> a[0]
set(['1', '2'])
>>>

此条目发表在Python, 编程分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注