怎么理解python指针拷贝,浅拷贝和深拷贝
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"怎么理解python指针拷贝,浅拷贝和深拷贝",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么理解python指针拷贝,浅拷贝和深拷贝"
千家信息网最后更新 2026年11月01日怎么理解python指针拷贝,浅拷贝和深拷贝
本篇内容主要讲解"怎么理解python指针拷贝,浅拷贝和深拷贝",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么理解python指针拷贝,浅拷贝和深拷贝"吧!
首先对于不可变类型int,string,float,tuple,并不用担心拷贝问题,可以认为每次拷贝时候都是重新创建内存空间来存放,修改新的值不会影响原来的;两个除了值一样没有相关。
对于可变类型Dict set list,还有实例对象,类一些,拷贝时候要考虑指针拷贝,浅拷贝和深拷贝的情况。
- 指针拷贝:就是通常A = B,对于可变类型,这个复制是多了个指针,两个A,B都是指向同一个内存空间,任何一个修改都会影响其他的。
class TreeNode: def __init__(self, x): self.val = x self.left = None def __str__(self): return "[{}:{}]".format(self.val, self.left)NodeA = TreeNode('A')NodeB = TreeNode('B')NodeA.left = NodeBprint(NodeA)NodeC = NodeAprint(NodeC)print('指针复制,更新NodeC,同时更新原来NodeA')NodeC.val = 'C'NodeC.left = Noneprint(NodeA)print(NodeC)结果是:
[A:[B:None]][A:[B:None]]指针复制,更新NodeC,同时更新原来NodeA[C:None][C:None]
- 浅复制:需要import copy 库实现,这里是用了新的内存空间存放复制内容。但是如果复制内容里有指向其他可变类型,该引用还是指向那个可变类型原来内存空间。
import copyNodeA = TreeNode('A')NodeB = TreeNode('B')NodeA.left = NodeBprint(NodeA)NodeC = copy.copy(NodeA)print(NodeC)print('浅复制,更新NodeC,不会更新原来NodeA,但是更新引用NodeC.left, 会影响NodeA.left')NodeC.val = 'C'NodeC.left.val = 'Cleft'print(NodeA)print(NodeC)结果:
[A:[B:None]][A:[B:None]]浅复制,更新NodeC,不会更新原来NodeA,但是更新引用NodeC.left, 会影响NodeA.left[A:[Cleft:None]][C:[Cleft:None]]
- 深复制:需要import copy 库实现,这里是用了新的内存空间存放复制内容;如果里面有指针指向可变类型空间,也会被一起复制。
import copyNodeA = TreeNode('A')NodeB = TreeNode('B')NodeA.left = NodeBprint(NodeA)NodeC = copy.deepcopy(NodeA)print(NodeC)print('深复制,更新NodeC,不会更新原来NodeA,更新NodeC.left, 不会影响NodeA.left')NodeC.val = 'C'NodeC.left.val = 'Cleft'print(NodeA)print(NodeC)结果:
[A:[B:None]][A:[B:None]]深复制,更新NodeC,不会更新原来NodeA,更新NodeC.left, 不会影响NodeA.left[A:[B:None]][C:[Cleft:None]]
到此,相信大家对"怎么理解python指针拷贝,浅拷贝和深拷贝"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
拷贝
更新
指针
空间
类型
可变
影响
内存
内容
指向
结果
两个
同时
时候
学习
实用
更深
不用
兴趣
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
山东特亿宝互联网科技有限公司
互联网科技产业
互联网科技英文
亿策互联网科技
互联网科技论文
互联网女皇 腾讯科技
中国最先进互联网科技公司
现代科技和互联网有关系吗
西藏七维空间互联网科技有限公司
承德科技产业互联网发展
广州恒生互联网科技有限
深圳育鹏互联网科技有限公司招聘
互联网数据科技专业
济南有互联网科技公司吗
徐州市互联网科技有限公司
中国新注册互联网科技
同城互联网络科技
现代互联网科技公司
上海互联网科技园景观
为想互联网科技怎么样
高科技互联网
金诺互联网科技
济南和联互联网科技有限公司
厦门比较好的科技互联网公司
湖北码尼互联网科技有限公司电话
中国科技创新与世界互联网大会
上海乐五互联网科技有限公司
互联网科技大佬云集
北京瑞云互联网科技有限公司