python赋值是浅拷贝吗,python浅拷贝与深拷贝
本文参考《Python 直接赋值、浅拷贝和深度拷贝解析》。
定义直接赋值:即对象的引用(别名)。轻型复制:复制父对象,但不复制对象内部的子对象。复制模块的deepcopy方法完全复制父对象及其子对象。解释1。b=a:赋值引用,A和B都指向同一个对象。
2.b=a.copy():浅层复制。a和B都是独立的对象,但是它们的子对象指向统一的对象(这是一个引用)
3.b=copy.deepcopy(a):深层复制。a和B完全复制父对象及其子对象,它们是完全独立的。
下面是直接赋值,轻抄,深抄的对比。
1份导入副本
2
3=[1,2,3,4,[a , b]] #原始对象
四
5=A #直接赋值,引用原始对象
C=copy.copy (a) #轻型副本
7=copy.deepcopy (a) #深层复制
八
9.追加(5) #修改对象a
10 a[4]。append(c) #修改对象a中的[a , b]列表对象。
11
12打印( a=,a)
13打印( b=,b)
14打印( c=,c)
5print (d=,d)上述示例的输出是:
a=[1,2,3,4,[a , b , c],5]
b=[1,2,3,4,[a , b , c],5]
c=[1,2,3,4,[a , b , c]]
d=[1,2,3,4,[a , b]]
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。