Python的深拷贝、浅拷贝
2024-09-01 05:15:00
浅拷贝
定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。
浅拷贝的特点:
公用一个值;
这两个变量的内存地址一样;
对其中一个变量的值改变,另外一个变量的值也会改变;
例如:
>>> a = [11,22,33,44]
>>> b =a
>>> id(a)
>>> 4327773384
>>> id(b)
>>> 4327773384
>>> a.appened(55)
>>> a
>>>[11,22,33,44,55]
>>>b
>>>[11,22,33,44,55]
深拷贝:
定义:一个变量对另外一个变量的值拷贝。
深拷贝的特点:
两个变量的内存地址不同;
两个变量各有自己的值,且互不影响;
对其任意一个变量的值的改变不会影响另外一个
>>> import copy
>>> a=[11,22,33]
>>> b=copy.deepcopy(a)
>>> a
[11, 22, 33]
>>> b
[11, 22, 33]
>>> id(a)
>>> id(b)
>>> a.append(44)
>>> a
[11, 22, 33, 44]
>>> b
[11, 22, 33]
>>>
转载:https://www.cnblogs.com/my-blogs-for-everone/p/8336213.html
最新文章
- 使用ServiceStack构建Web服务
- Dapper
- NPOI 教程 - 2.1单元格合并
- JSF中使用jquery拦截ajax请求
- Tomcat的JVM优化
- CVTE面试总结
- #Leet Code# Binary Tree Max[待精简]
- SQL存储过程笔记
- ASP.NET Ajax
- css3 transiton
- wpf 界面线程 添加项
- ThinkPHP URL伪静态、路由规则、重写、生成
- hdu 5667 BestCoder Round #80 矩阵快速幂
- 用Django做一个团队介绍
- 浅谈cookie,sessionStorage和localStorage
- 第五篇-ubuntu下插入U盘,显示可读系统。
- Spring配置中的";classpath:";与";classpath*:";的区别研究(转)
- 自定义Attribute类
- 【ESP8266】、ESP8266通讯使用的AT指令
- Android 支付宝/微信支付结果判断