当前位置: 首页> 技术文章> 多测师软件测试培训之python3中的深浅拷贝

多测师软件测试培训之python3中的深浅拷贝

多测师软件测试培训之python3中的深浅拷贝

在软件测试工程师的日常工作中,进程有同僚弄不清楚赋值、深浅拷贝之间的关系和区别。今天我们就来讲一讲关于这三者之间的区别

1. 赋值

upfile1625534062660.png

从以上结果中我们可以看出,赋值并不是复制的概念,实际执行的是把两个变量指向了同一个id值,也即是最终指向了同一个引用的对象,如上图的a和b都指向了100这个对象一样。

1. 浅拷贝

    Python中整数是没办法拷贝的,因为整数是不可变的数据类型以及python缓存机制不支持,下面我们以列表来举例说明。

upfile1625534092862.png

从图一可以看出,当list1被拷贝到list2后,整个对象的id发生了改变,但是对象中具体某个元素的id值是没有变化的。所以说浅拷贝只是拷贝的数据结构,而并不是吧数据结构中的具体元素也重新拷贝出来。

1. 深拷贝

upfile1625534123687.png

从图二中可以看出,当list1被使用deepcopy拷贝到list2后,不仅整个对象的内存id发生了变化,对象中具体的子元素对象的内存id也发生了变化。



如需了解更多测试技术信息请关注:http://www.duoceshi.cn/ 深圳市多测师信息技术有限公司








上一篇: 杭州多测师第八期团建活动

下一篇: 软件测试之手工测试人员如何转测试开发?

QQ技术交流群

多测师官方学习交流
556733550

加入群聊