程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-06(4)

Python中的浅拷贝和深拷贝

发布于2019-08-05 18:36     阅读(547)     评论(0)     点赞(0)     收藏(5)


python中的浅拷贝和深拷贝是经常在面试中遇到的问题。

  • 浅拷贝(copy): 拷贝父对象,不会拷贝对象的内部的子对象
  • 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

赋值

我们先看看赋值的实例

a = {1:['a']}
b = a
a[1].append('b')

很明显,赋值引用,a 和 b 都指向同一个对象。

浅拷贝实例

a = {1:['a']}
b = a.copy()
a[1].append('b')

可以看到,浅复制不会拷贝字典中的list对象。当我们向a的list中添加值时,b中的也变了。

深拷贝实例:

import copy
a = {1:['a']}
b = copy.deepcopy(a)
a[1].append('b')

可以看到,他们的对象和子对象都是相互独立的,当我们向a的list中添加值时,b不会受影响。



所属网站分类: 技术文章 > 博客

作者:loo

链接:https://www.pythonheidong.com/blog/article/6326/0976fce18c04153c7363/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

0 0
收藏该文
已收藏

评论内容:(最多支持255个字符)