本文主要是介绍python面试题5:浅拷贝和深拷贝之间有什么区别?(难度--中等),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 题目
- 回答
- 1.浅拷贝
- 2.深拷贝
题目
浅拷贝和深拷贝之间有什么区别?
回答
1.浅拷贝
浅拷贝对于不可变数据,如字符串,整数,数组,往往是直接复制其的值。对于可变对象如列表,则是指向同一个地址。这意味着,改变原对象,拷贝的对象的值也会随之改变,示例如下:
subjectA=[1,2,3]
subjectB=subjectA#浅拷贝
subjectA.append(4)
print(subjectB)
"""输出:
[1, 2, 3, 4]
"""
2.深拷贝
将完全复制目标对象的所有属性,层级,值,这也以为着拷贝对象有了完全独立的地址,拷贝对象的值也是独立存在,不会因为目标对象的变化而改变
import copy
subjectA=[1,2,3]
subjectB=copy.deepcopy(subjectA)#浅拷贝
subjectA.append(4)
print(subjectB)
"""输出:
[1, 2, 3]
"""
这篇关于python面试题5:浅拷贝和深拷贝之间有什么区别?(难度--中等)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!