python赋值和浅拷贝,python赋值浅拷贝和深拷贝的区别

  python赋值和浅拷贝,python赋值浅拷贝和深拷贝的区别

  复制深度一,数字和字符串

  对于数字和字符串来说,赋值、轻拷贝和深拷贝是没有意义的,因为它们总是指向同一个内存地址。

  导入副本

  # # # # # # #数字,字符串# # # # # #

  n1=123

  # n1=我是10岁的亚历克斯

  打印(id(n1))

  # # #分配# #

  n2=n1

  打印(id(n2))

  # # #轻型副本# #

  n2=copy.copy(n1)

  打印(id(n2))

  # # #深层复制# #

  n3=copy.deepcopy(n1)

  打印(id(n3))

  二。其他基本数据类型

  对于字典、祖先、列表来说,它们的内存地址在赋值时的变化是不一样的,浅拷贝和深拷贝。

  1.作业

  赋值,只需创建一个指向原始内存地址的变量,比如:

  n1={k1 :吴, k2: 123, k3: [alex ,456]}

  n2=n1

  2.轻拷贝

  浅层拷贝,仅在内存中创建第一层数据。

  导入副本

  n1={k1 :吴, k2: 123, k3: [alex ,456]}

  n3=copy.copy(n1)

  3.深层拷贝

  深度复制,在内存中重新创建所有数据的副本(不包括最后一层,也就是python内部优化的字符串和数字)

  导入副本

  n1={k1 :吴, k2: 123, k3: [alex ,456]}

  n4=copy.deepcopy(n1)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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