重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章为大家展示了python中深浅拷贝的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
成都创新互联公司专注于中大型企业的成都做网站、网站建设和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户千余家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!# copy module import import copy # number and string a = 12 a1 = a a2 = copy.copy(a) a3 = copy.deepcopy(a) # look addr print("==========number=======") print(id(a)) print(id(a1)) print(id(a2)) print(id(a3)) s = '12345' s1 = s s2 = copy.copy(s) s3 = copy.deepcopy(s) # look addr print("==========String=======") print(id(s)) print(id(s1)) print(id(s2)) print(id(s3)) # others target = { 'name': 'ckmike', 'age': 25, 'boxes':[ 'LV', 'Prada', 'KUQI' ] } target1 = target target2 = copy.copy(target) target3 = copy.deepcopy(target) print("==========dict-1=======") print(id(target)) print(id(target1)) print(id(target2)) print(id(target3)) print("==========dict-2=======") print(id(target['boxes'])) print(id(target1['boxes'])) print(id(target2['boxes'])) print(id(target3['boxes']))
输出结果:
==========number=======
10943360
10943360
10943360
10943360
==========String=======
140567123944648
140567123944648
140567123944648
140567123944648
==========dict-1=======
140567124625088
140567124625088
140567124625160
140567123938760
==========dict-2=======
140567099339272
140567099339272
140567099339272
140567099339464
总结:
对于数值、字符串而言,不管是赋值符号还是浅拷贝、深拷贝,都是引用的内存中的同一份值,变量指向同一地址。
对于非数值非字符串而言,浅拷贝只会拷贝对象的第一层,深拷贝则会把所有层都进行拷贝。
上述内容就是python中深浅拷贝的原理是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。