python中的深拷贝和浅拷贝(面试题)
2024-09-03 13:10:23
一、浅拷贝
定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。
浅拷贝的特点:
- 公用一个值;
- 这两个变量的内存地址一样;
- 对其中一个变量的值改变,另外一个变量的值也会改变;
>>> 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]
>>>
最新文章
- skipping the actual organic impact moderation supplied
- [iOS基础控件 - 6.9.4] 抓取网页图片资源
- alsa utils工具使用
- Android(java)学习笔记225:Activity 4 种启动模式
- ToString()的浅显解释(转)
- Oracle 表空间和用户权限管理【转】
- TortoiseGit - 处理冲突
- HDU 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
- SSM-MyBatis-11:Mybatis中查询全部用resultmap
- LeetCode算法题-Shortest Completing Word(Java实现)
- OpenStack VS Kubernetes,谁是你心中的王者?
- [小程序] 微信小程序 picker 中range-key中必须带单引号
- baidu.com跳转www.baidu.com
- iframe与主框架跨域相互访问方法
- 通达OA系统myisam转innodb引擎
- mysqldump导出数据时,某些表不导出,排除某些表,不导出某些表
- LeetCode 893 Groups of Special-Equivalent Strings 解题报告
- 洛谷P1955 程序自动分析 [NOI2015] 并查集
- [UE4]传送门:场景切换
- noip第4课资料