深浅拷贝

2019-07-24 09:18:37来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

赋值:b = a: 赋值引用,a 和 b 都指向同一个对象。a变化,b也会变化。

浅拷贝:拷贝父对象,不会拷贝对象的内部的子对象。a变化,b也会变化。

a = {1: [1,2,3]} ?

b = a.copy() ?

a, b ?

({1: [1, 2, 3]}, {1: [1, 2, 3]}) ?

a[1].append(4) ?

a, b ?

({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})

深拷贝:copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。a变化,b不会变化。 ?

import copy ?

c = copy.deepcopy(a) ?

>>> a, c ?

({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]}) ?

>>> a[1].append(5) ?

>>> a, c ?

({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})


原文链接:https://www.cnblogs.com/sunshine-winky/p/11166594.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:「经验分享」python零基础学习规划与建议!

下一篇:python 通过Sybase ASE ODBC Driver访问sybase数据库,无需配置D