2019-03-19
阅读量:
442
如何区分深拷贝和浅拷贝?
在Python中,Assignment语句不复制对象,它们在目标和对象之间创建绑定。当我们使用=
operator operator时认为这会创建一个新对象; 好吧,它没有。它只创建一个共享原始对象引用的新变量。有时用户想要使用可变对象,以便用户寻找创建这些对象的“真实副本”或“克隆”的方法。或者,有时用户想要用户可以修改的副本而不会同时自动修改原件,为此,我们创建对象的副本。
有时需要副本,因此可以更改一个副本而不更改另一个副本。在Python中,有两种方法可以创建副本:
- 深拷贝
- 浅拷贝
要点:
浅复制和深复制之间的区别仅与复合对象(包含其他对象的对象,如列表或类实例)相关:
- 浅复制构造一个新的复合对象,然后(尽可能)将对它的引用插入到原始对象中。
- 深层复制构造一个新的复合对象,然后递归地将复制对象插入到原始对象中找到的对象中。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论