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