Python基础入门知识点——深浅拷贝
2024-10-05 19:01:33
深浅拷贝
对象引用、浅拷贝、深拷贝(拓展、难点、重点)
Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果
其实这个是由于共享内存导致的结果
拷贝:原则上就是把数据分离出来,复制其数据,并以后修改互不影响。
先看一个非拷贝的例子
使用=赋值(对象引用)
=赋值:数据完全共享
=赋值是在内存中指向同一个对象,如果是可变(mutable)类型,比如列表,修改其中一个,另一个必定改变
如果是不可变类型 (immutable) ,比如字符串,修改了其中一个,另一个并不会变
浅拷贝(copy)
浅拷贝:数据半共享(复制其数据独立内存存放,但是只拷贝成功第一层)
深拷贝(deepcopy)
深拷贝:数据完全不共享(复制其数据完完全全放独立的一个内存,完全拷贝,数据不共享)
深拷贝就是完完全全复制了一份,且数据不会互相影响,因为内存不共享。
深拷贝的方法有
最新文章
- mybatis入门_一对多,多对多映射以及整合spring框架
- c++句柄设计
- poj2385 dp(递推)
- JSP中乱码问题
- [转]MFC中UpdateData()函数的使用
- ubuntu设置vim语法高亮显示和自动缩进
- Redstone 云观象台 服务器部署 - Nginx配置文件
- VC++ UTF-8与GBK格式转换
- Zend studio 12.5.1安装aptana
- POJ_2184_Cow_Exhibition_(动态规划,背包)
- [置顶] SpecDD系列:“完成” 的定义
- C# 中集合类型需要按多个条件排序
- 一些公司的面试题目 U3D
- 原生JS取代一些JQuery方法的简单实现
- DP入门基本问题
- eclipse聚合工程如何提交SVN,如何从SVN下载
- C++STL 预定义函数对象和函数适配器
- 6、使用jconsole+VisualVM分析JVM
- 请教 JTable 里的单元格如何使得双击进入单元格后,单元格的内容处于全选中状态
- MySQL ALTER讲解
热门文章
- 重学数据结构(三)——使用单链表实现LRU淘汰缓存机制
- Invalid RNPermission 'ios.permission.xxx'. should be one of: ( )
- 前端学习(十二):CSS排版
- 萌新学渗透系列之Hack The Box_Devel
- MacOS英语学习
- matplotlib 去掉坐标轴
- 5分钟白嫖我常用的免费效率软件/工具!效率300% up!
- Python File fileno() 方法
- Python time altzone()方法
- 剑指 Offer 52. 两个链表的第一个公共节点