博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深浅拷贝
阅读量:4322 次
发布时间:2019-06-06

本文共 679 字,大约阅读时间需要 2 分钟。

深浅拷贝原理图

#浅拷贝,新开辟一份内存空间,把拷贝的值放进去,里边的值指向的地址,与被拷贝指向相同,原理图如下,e会随着a的改变而改变

 

 

深拷贝

#开辟新的内存空间,把拷贝的值放进去,里边的值指向的名称空间也改变#原理图如下,a改变,e不会该百年,#深拷贝已经和原来的值没有关系了

 

代码实现

import copya=[11,22]b=[33,44]c=[a,b]e=copy.copy(c)f=copy.deepcopy(c)print(id(c))    #2570006275400   #说明深浅拷贝都指向了不同的内存地址print(id(e))    #2570006275336print(id(f))    #2368798041288print(id(c[0]))   #1855714459464    #说明浅拷贝中的值仍然执行原来的print(id(e[0]))   #1855714459464print(id(f[0]))   #1387679818888    #而深拷贝,把里边的值复制了一份,指向了其他内存地址#那么,更改被值中的值,深拷贝不会该百年,浅拷贝跟着改变改变a.append(66)print(c)    #[[11, 22, 66], [33, 44]]print(e)    #[[11, 22, 66], [33, 44]]print(f)    #[[11, 22], [33, 44]]
View Code

 

转载于:https://www.cnblogs.com/pdun/p/11284823.html

你可能感兴趣的文章
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
Laravel 的生命周期
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
jxl写入excel实现数据导出功能
查看>>
linux文件目录类命令|--cp指令
查看>>
.net MVC 404错误解决方法
查看>>
linux系统目录结构
查看>>
Entity Framework 4.3.1 级联删除
查看>>
学习进度
查看>>
github.com加速节点
查看>>
使用Postmark测试后端存储性能
查看>>