首页IT科技python中的浅拷贝(python中什么是浅拷贝)

python中的浅拷贝(python中什么是浅拷贝)

时间2025-06-14 00:58:14分类IT科技浏览4086
导读:python中浅拷贝是对一个对象最顶层的拷贝。 浅拷贝对可变数据类型会拷贝这个对象的引用;对于不可变数据类型进行对象资源的拷贝,即只拷贝对象的数据内容和父对象,不拷贝对象内部的子对象。...

python中浅拷贝是对一个对象最顶层的拷贝           。 浅拷贝对可变数据类型会拷贝这个对象的引用;对于不可变数据类型进行对象资源的拷贝           ,即只拷贝对象的数据内容和父对象                 ,不拷贝对象内部的子对象                 。

在python中      ,对象赋值实际上是对象的引用      。当创建一个对象     ,然后把它赋给另一个变量的时候                 ,python并没有拷贝这个对象           ,而只是拷贝了这个对象的引用           。

浅拷贝(copy):

浅拷贝是对一个对象最顶层的拷贝     ,拷贝引用                。 浅拷贝对可变类型会进行浅拷贝(拷贝一个对象的引用)      。

对于不可变数据类型进行对象资源的拷贝                 ,只拷贝对象的数据内容      。拷贝父对象           ,不拷贝对象内部的子对象                。

>>>importcopy >>>c=copy.copy(alist) >>>printalist;printc [1,2,3,[a,b]] [1,2,3,[a,b]] >>>alist.append(5) >>>printalist;printc [1,2,3,[a,b],5] [1,2,3,[a,b]] >>>alist[3][a,b] >>>alist[3].append(cccc) >>>printalist;printc [1,2,3,[a,b,cccc],5] [1,2,3,[a,b,cccc]]里面的子对象被改变了 print("浅拷贝:") importcopy b=[1,2,3,4,5] print("idb:",id(b)) h=copy.copy(b) print("idh",id(h)) print(h) h.append(6) print(h) print("idh",id(h)) print(b)#浅拷贝新的列表h改变了,原来的b没变           。 b[1]=n#列表元素改变后                 ,新的列表也没变 print(h) 输出: 浅拷贝: (idb:,140165805110552) (idh,140165805110480) [1,2,3,4,5] [1,2,3,4,5,6] (idh,140165805110480) [1,2,3,4,5] [1,2,3,4,5,6]

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
小米路由器上的硬盘数据怎么打开(小米MINI路由器的硬盘的详细教程) 移动端的html5网页制作(移动端H5网页开发必备知识)