Python中=、copy、deepcopy
2024-08-21 10:30:38
一、Python中的“=”
a = 1
b = 1
c = a
print(id(a))
print(id(b))
print(id(c))
#输出为
140707841037344
140707841037344
140707841037344
上面代码中创建常量1,a、b和c都指向1,当没有变量指向1,释放常量1内存。
二、Python中copy
import copy
a = [1,2,3]
b = copy.copy(a)
print(id(a))
print(id(b))
#输出为
2075181435016
2075181315464
上述代码中copy会开劈新的内存来存储list地址,但不会开辟内存存储list中的值。
三、Python中deepcopy
import copy
a = [1,2,3,[4,5,6]]
b = copy.deepcopy(a)
c = copy.copy(a)
print(id(a[3]))
print(id(b[3]))
print(id(c[3]))
#输出为
2043580692680
2043580693000
2043580692680
上述copy会开辟新的内存来存储list地址,但不会开辟内存存储list中的值。
deepcopy会开辟新的内存来存储list地址,但也会递归开辟内存存储list中的值。
最新文章
- JS数组操作示意图(shift,unshift,pop,push)
- java设计模式(五)--建造者模式(Builder)
- c# 学习心得(函数方法类)
- Logistic Regression分类器
- WPF三种基本触发器与【与或】逻辑触发器
- [zt]OpenCV2.1.0的安装
- [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
- paper 93:OpenCV学习笔记大集锦
- [r]Setting up Django and your web server with uWSGI and nginx
- 关于JavaScriptSerializer使用的问题
- 监控Informix-Url
- Java Trie树
- Cousera课程Learning How to Learn学习报告
- 【20190415】JavaScript-事件流与stopPropagation()、stopImmediatePropagation()的误区解析
- iOS Simulator version 11 or later is currently not supported.
- 【转】JSP中的JSTL与EL表达式用法及区别
- springmvc mybatis shiro构建cms系统
- python之列表的常用操作
- Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
- TeamViewer 说明截图