python赋值是浅拷贝吗,python浅拷贝与深拷贝

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: