5分钟带你全面搞懂面试必问系列之Python深浅拷贝

在自动化测试/测试开发岗位面试时,浅拷贝和深拷贝经常涉及到,目的是评估候选人对 Python 数据结构处理和内存管理的理解,本文通过详细的测试验证帮你全面理解深浅拷贝及它们的区别

关于深浅拷贝

在 Python 中,用等号 = 给变量赋值时,并不会真正复制对象,而只是让新的变量指向原来的对象。也就是说,新变量和原来的变量其实是共享同一个对象。如果想要创建一个“真正的副本”,让新对象和原对象互相独立,我们可以使用 Python 的 copy 模块来实现。copy 模块中提供了两种方式:深拷贝及浅拷贝:

深拷贝和浅拷贝的概念用于描述对象的复制方式,它们的主要区别在于是否递归复制对象中的嵌套对象。

浅拷贝:创建一个新对象,只复制原对象的第一层引用,嵌套对象仍然与原对象共享引用。

深拷贝:创建一个完全独立的新对象,递归复制原对象及其嵌套对象的所有内容。

Python深拷贝语法:

copy.deepcopy(x)

Python浅拷贝语法:

copy.copy(x)

为了更加直观了解深拷贝和浅拷贝的区别,这里我们可以通过代码可视化网站python tutor清楚的看到代码执行的每一步发生了什么、变量的作用域和其对应关系都一目了然:

Python Tutor - Python Online Compiler with Visual AI Help

测试验证浅拷贝:

单层数据结构:

对于可变类型如列表、字典、集合,浅拷贝会开辟新的空间地址,进行浅拷贝

对于不可变类型如数字、字符串、元组,浅拷贝仅仅是地址指向,不会开辟新空间拷贝值

外层对象是可变的,内层对象是不可变的:

外层对象是不可变的,内层对象是可变的:

外层对象是可变的,内层对象是可变的:

外层对象是不可变的,内层对象是不可变的:

浅拷贝总结:

浅拷贝是对一个对象父级(外层)的拷贝,并不会拷贝子级(内部)。使用浅拷贝的时候,分为两种情况:

第一种,如果最外层的数据类型是可变的,如列表、字典、集合,浅拷贝会开启新的地址空间去存放。

第二种,如果最外层的数据类型是不可变的,如数字、字符串、元组,浅拷贝对象的时候,还是引用原对象的地址空间。

测试验证深拷贝:

单层数据结构:

这里的表现和浅拷贝是一样的

对于外层对象是可变的,内层对象是不可变的:

对于外层对象是不可变的,内层对象是可变的:

外层对象是可变的,内层对象是可变的:

外层对象是不可变的,内层对象是不可变的:

深拷贝总结:

深拷贝对一个对象是所有层次的拷贝(递归),内部和外部都会被拷贝过来。深拷贝也分两种情况:

第一种,最外层数据类型可变。外层的会新开辟地址空间存放。如果里面是可变数据类型,内部会新开辟地址空间存放。如果内部数据类型不可变,内部则是对地址的引用。

第二种,外层数据类型不可变,如果内部数据是可变数据类型,外部和内部都会新开辟地址空间存放。如果内部数据类型不可变,外部和内部都是对地址的引用。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1210283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在外包干了三年,我废了……不吹不黑!

没错,我也干过外包,一干就是三年,三年后,我废了…… 虽说废的不是很彻底,但那三年我几乎是出差了三年、玩了三年、荒废了三年,那三年,我的技术能力几乎是零成长的。 说起这段三年的外包经历&a…

关于使用虚幻vr开发中位置对不上的问题

关于使用虚幻vr开发中位置对不上的问题现象:vr开发中与菜单交互,发现motioncontroller的位置不对,解决:经过搜索,以为是驱动问题,把openxr插件改成了meta xr(这个需要在官网去下载),不过改完成之后没反应后续:…

2026年网络安全自学入门:(超详细)从入门到精通学习路线规划,学完即可就业!

随着数字化转型加速与网络威胁常态化,网络安全已成为数字经济的 “安全底座”。2026 年行业数据显示,全球网络安全人才缺口超 300 万,国内缺口达数百万,平均起薪较 IT 行业高出 20%-30%,且呈现 “越老越值钱” 的职业发…

2026广州化妆品OEM/ODM工厂推荐:颜朵科技领衔,实力厂商助力品牌高效孵化

一、广州化妆品OEM/ODM产业概况 随着美妆消费市场的持续扩容(2023年中国化妆品市场规模达5133亿元,年增速约8.2%),代加工(OEM/ODM)模式已成为品牌方降低成本、缩短上市周期、快速抢占细分赛道的核心策略。广州作…

2026广州护肤品加工企业排名解析:颜朵科技凭合规与创新领跑行业

一、产业背景:广州成为护肤品代加工核心集群 随着美妆行业个性化、功效化消费需求的深度升级,化妆品OEM/ODM市场迎来爆发式增长。据中国化妆品产业研究院2025年度报告显示,国内美妆OEM/ODM市场规模已突破800亿元,2…

油性头屑救星!2026最新测评洗发水排行榜TOP1,去屑控油公认见效快

对于油头星人来说,“一天一洗”早已是常态——晨起梳头油扁塌、午后头皮刺痒难耐、睡前枕头上满是头屑与发丝,三重困扰叠加,不仅拉低颜值,更让日常状态备受影响。更棘手的是,多数控油洗发水要么清洁力过猛,洗后头…

南昌有名的墙面装修专业公司靠谱吗,有哪些权威认证?

随着人们对家居品质要求的提升,墙面装修不再只是简单的刷漆工程,而是关乎环保健康、视觉效果与长期耐用性的系统工程。本文整理了关于墙面现代装修的高频问题,结合江西陶乐嘉实业有限公司的专业经验,从用户痛点出发…

2026哈尔滨雅思培训补习班权威测评榜单

在哈尔滨雅思培训市场多元化发展的当下,考生在雅思培训选课过程中普遍面临诸多痛点:基础薄弱者难以找到精准提分技巧,高分冲刺者缺乏权威个性化方案,留学迷茫党纠结教育机构的靠谱性与留学衔接服务,在职人士难以平…

分析膨胀罐来图定制,柏甲控制工艺精湛,品质可靠

随着工业循环系统与暖通工程对稳压设备需求的升级,膨胀罐优质生产商、膨胀罐来图定制、膨胀罐靠谱供应商逐渐成为行业采购的核心关注点。本文围绕这三大关键词,结合常州市柏甲控制科技有限公司的产品与服务,解答采购…

重庆锦胜雾森方案平台费用多少,详细价格大揭秘

2026年生态环境优化需求持续升级,雾森系统作为集景观造景、异味控制、降温除尘于一体的综合解决方案,已成为景区、市政、商业综合体及工业场景的核心选择。无论是重庆锦胜雾森一站式平台的全链路服务,还是重庆锦胜雾…

2026主流招聘软件平台排行榜 综合测评

2026主流招聘软件平台排行榜 综合测评 数字化时代,招聘软件成为求职招聘核心枢纽。结合艾瑞咨询、QuestMobile第三方报告及10万+真实用户评价,从岗位真实性、AI匹配精度等五大维度,以10分制测评国内主流平台,推出2…

Flutter × OpenHarmony 跨端实践:打造个人理财助手的预算管理模块

文章目录Flutter OpenHarmony 跨端实践:打造个人理财助手的预算管理模块前言背景Flutter OpenHarmony 跨端开发介绍开发核心代码(详细解析)1. 构建预算管理模块入口逻辑说明设计要点2. 构建预算列表空状态设计技术要点3. 构建预算卡片&…

天硕(TOPSSD)加固计算机中的策略:如何保障宽温下的数据一致性与长期稳定?

天硕(TOPSSD) G40 M.2 NVMe 工业级固态硬盘采用自研主控及全链路国产化替代方案,可在 -40℃~85℃ 宽温范围内稳定运行;遵循国家军用标准进行设计验证,更能胜任严苛环境下的长时任务。系列产品长期服务军用嵌入式计…

Flutter × OpenHarmony 跨端开发:构建个人理财助手的统计信息模块

文章目录Flutter OpenHarmony 跨端开发:构建个人理财助手的统计信息模块前言背景Flutter OpenHarmony 跨端开发介绍开发核心代码(详细解析)1. 核心思路解析2. 统计卡片构建方法功能亮点:心得总结Flutter OpenHarmony 跨端开发&…

覆盖20+场景!众多系统加持!itc全面助力北京师范大学宁德实验学校多个特色空间“智慧升级”!

近日,北京师范大学宁德实验学校 揭牌仪式暨教育高质量发展交流会 在宁德隆重举行 本次活动 以“守正砺新共创未来”为主题市委、市政府领导 及多名企业家、教育专家出席活动 共同见证北师大优质教育资源 落地宁德 探索…

音视频系统第一厂家itc保伦股份荣获“2025中国互联网经济年度品牌奖”

12月17日,由中国科学院《互联网周刊》、eNet研究院、德本咨询联合主办的2025(第二十三届)中国互联网经济论坛金i奖正式揭晓。itc保伦股份作为音视频智能互联领域的核心建设者,凭借在音视频智能互联领域的持续深耕和…

2026年内蒙古吉林白/路边石/地铺石/火烧板石材厂源头厂家选型指南

随着城市更新、乡村振兴及基础设施升级的持续推进,2026年内蒙古地区对高品质天然石材成品工程板的需求持续攀升。吉林白、路边石、火烧板、地铺石等作为市政道路、园林景观、商业广场及住宅小区建设中的核心材料,其选…

图的最短路专题

带权图的最短路: Dijkstra: 无优化\(O(n^2)\) 注意只能用于非负边权!! 当为负边权时在第一步时就会出错 可能dis v为最小且v与源点不直接连通,经过了中间节点,而源点到中间节点的距离大于源点到v的距离,所以源点…

Java毕设项目推荐-基于java+springboot的体育用品购物商城系统基于springboot的运动用品商城系统【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Java毕设项目推荐-基于springboot+vue的智慧化果园智能管理生长系统【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…