python中的深拷贝和浅拷贝(面试题二)
2024-08-30 22:55:33
一、浅拷贝
定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。
浅拷贝的特点:
- 公用一个值;
- 这两个变量的内存地址一样;
- 对其中一个变量的值改变,另外一个变量的值也会改变;
>>> a=[11,22,33]
>>> b=a
>>> id(a)
40488632
>>> id(b)
40488632
>>> a is b
True
>>> a.append(44)
>>> a
[11, 22, 33, 44]
>>> b
[11, 22, 33, 44]
>>>
二、深拷贝:
定义:一个变量对另外一个变量的值拷贝。
深拷贝的特点:
- 两个变量的内存地址不同;
- 两个变量各有自己的值,且互不影响;
- 对其任意一个变量的值的改变不会影响另外一个;
>>> import copy
>>> a=[11,22,33]
>>> b=copy.deepcopy(a)
>>> a
[11, 22, 33]
>>> b
[11, 22, 33]
>>> id(a)
40489528
>>> id(b)
40505392
>>> a.append(44)
>>> a
[11, 22, 33, 44]
>>> b
[11, 22, 33]
>>>
最新文章
- 2DToolkit官方文档中文版打地鼠教程(一):初始设置
- 利用javascript跨域访问cookie之广告推广
- [LeetCode] First Unique Character in a String 字符串第一个不同字符
- 关于js中空值比较和传值的问题
- 【java基础】面向过程~面向对象
- node socket.io web
- Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能
- UnityShader快速上手指南(三)
- DirectoryInfo类
- Dzz任务板初版完成笔记-仿trello私有部署的一款轻量团队任务协作工具。
- NASA关于如何写出安全代码的10条军规
- 【python】【转】 for 循环一列
- ACM-计算几何之Quoit Design——hdu1007 zoj2107
- Cocos2d-x发展---更改父的颜色、透明度的子节点上
- CSS3制作日历
- Java--JDBC连接数据库
- Java起源
- Java并发编程-各种锁
- Mac下redis的安装 以及配置支持PHP使用redis
- jQuery 获取不到 kindeditor 内容 的解决方法
热门文章
- [bzoj4027][HEOI2015][兔子与樱花] (树形dp思想+玄学贪心)
- openstack windows2012r2 glance镜像制作
- poj 1659 判断是否能构成图Havel-Hakimi定理
- Remmarguts’ Date(poj 2449)
- vim中256色的配色表
- SVN提交时报错:Commit blocked by pre-commit hook (exit code 1) with no output.
- sql 分组取每组的前n条或每组的n%(百分之n)的数据
- hdu5371 最长回文子串变形(Manacher算法)
- [C++设计模式] decorator 装饰者模式
- 调用线程必须为 STA,因为许多 UI 组件都需要