软件测试面试真题 | 请介绍一下 Python 中的深拷贝和浅拷贝
软件测试学习笔记分享
面试官问: 请介绍一下 Python 中的深拷贝和浅拷贝
考察点
深拷贝、浅拷贝的概念和区别
技术点
深拷贝的概念和实现
浅拷贝的概念和实现
深拷贝、浅拷贝的区别
创建副本
浅拷贝 Shallow Copy
深拷贝 Deep Copy
Python3 官方文档:docs.python.org/3/library/c…
Python3 浅拷贝
copy.copy()
复制代码
Python 深拷贝
copy.deepcopy()
复制代码
深浅拷贝的区别
浅拷贝构造一个新的复合对象,然后用在原始对象中找到的子对象的引用填充它。
深拷贝构造一个新的复合对象,然后递归地用在原始对象中找到的子对象的副本填充它。
总结
浅拷贝构造一个新的复合对象,然后用在原始对象中找到的子对象的引用填充它。可以使用 copy 模块的 copy()函数实现。
深拷贝构造一个新的复合对象,然后递归地用在原始对象中找到的子对象的副本填充它。可以使用 copy 模块的 deepcopy()函数实现。
浅拷贝和深拷贝之间的区别仅与复合对象有关,浅拷贝只是一个层次的拷贝,不会递归;而深拷贝的拷贝过程是递归的,可以拷贝出完全独立的副本。
软件测试学习笔记分享
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/7bdb3979d704e9284c276f003】。文章转载请联系作者。
评论