ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python中的浅拷贝,深拷贝

2022-08-07 19:04:32  阅读:752  来源: 互联网

标签:容器 存储 copy python list 拷贝 内存地址


直接引用,间接引用

# 1.列表存储的是索引对应值的内存地址,值会单独的开辟一个内存空间
list = ["a","b"]
内存里面存储的就是list[0],list[1],也就是分别存储的是0,1索引 以及"a","b"的内存地址,这个值"a"会单独的开辟一个内存空间
# 2.字典存储的是key对应值的内存地址
# 总结:容器都是间接引用的

可变和不可变类型

# 可变类型:值改变的情况下,id(内存地址)不变;说明改的是原值
# 这里说的值,是堆区里面内存地址对应的值
# 不可变类型:值改变的情况下,id也变了

浅拷贝,深拷贝

# 浅拷贝,对于容器内可变类型的值改变后,原来容器内的值也会跟着改变
# 深拷贝,改了copy之后的容器,原容器不会发生变化
# 若容器内存储的都是不可变类型,用浅拷贝可以;如果容器内存储的是可变类型的那就要使用深拷贝
# 浅拷贝,容器.copy()
# 深拷贝,import copy     copy.deepcopy()

进制

标签:容器,存储,copy,python,list,拷贝,内存地址
来源: https://www.cnblogs.com/xiaomengniu/p/16559632.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有