对于数字、字符串深浅拷贝:

import copy
num = 0
copy_num = copy.copy(num)
print("These are normal copy").center(60,'*')
print(num,id(num))
print(copy_num,id(copy_num))
print("These are deep copy").center(60,'*')
deep_copy_num = copy.deepcopy(num)
print(num,id(num))
print(deep_copy_num,id(deep_copy_num))
*******************These are normal copy********************
(0, 3910788) #原num id
(0, 3910788) #浅拷贝 id
********************These are deep copy*********************
(0, 3910788) #原num id
(0, 3910788) #深拷贝 id

对于字典、元组、列表深浅拷贝:

import copy
dic = {
"CPU":[80,],
"IO":[80,],
"Disk":[70,],
"Memory":[70,],
} copy_dic = copy.copy(dic)
copy_dic["CPU"][0]=30
print("These are normal copy").center(60,'*')
print(dic,id(dic))
print(copy_dic,id(copy_dic))
print("These are deep copy").center(60,'*')
deepcopy_dic = copy.deepcopy(dic)
deepcopy_dic["CPU"][0]=40
print(dic,id(dic))
print(deepcopy_dic,id(deepcopy_dic))
*******************These are normal copy********************
({'Disk': [70], 'CPU': [30], 'IO': [80], 'Memory': [70]}, 39905584) #原dic id
({'Disk': [70], 'CPU': [30], 'IO': [80], 'Memory': [70]}, 39906736) #浅拷贝 id
********************These are deep copy*********************
({'Disk': [70], 'CPU': [30], 'IO': [80], 'Memory': [70]}, 39905584) #原dic id
({'Disk': [70], 'CPU': [40], 'IO': [80], 'Memory': [70]}, 39907168) #深拷贝 id

  由以上可以看出对于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。

  对于字典、元祖、列表 而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的。

  赋值,只是创建一个变量,该变量指向原来内存地址。

Python基础:深浅拷贝的更多相关文章

  1. python基础--深浅拷贝copy

    拷贝是音译的词,其实他是从copy这个英文单词音译过来的,那什么是copy? copy其实就是复制一份,也就是所谓的抄一份.深浅copy其实就是完全复制一份,和部分复制一份的意思. 1.赋值运算 l1 ...

  2. python基础-深浅拷贝

    深拷贝与浅拷贝 总结: # 浅拷贝:list dict: 嵌套的可变数据类型是同一个 # 深拷贝:list dict: 嵌套的不可变数据类型彼此独立 浅拷贝 # 个人理解: # 在内存中重新创建一个空 ...

  3. Python原理 -- 深浅拷贝

    python原理 -- 深浅拷贝 从数据类型说开去 str, num : 一次性创建, 不能被修改, 修改即是再创建. list,tuple,dict,set : 链表,当前元素记录, 下一个元素的位 ...

  4. Python的深浅拷贝

    Python的深浅拷贝 深浅拷贝 1. 赋值,对于list, set, dict来说, 直接赋值. 其实是把内存地址交给变量并不是复制一份内容 list1 = [']] list2 = list1 p ...

  5. Python入门-深浅拷贝

    首先我们在这里先补充一下基础数据类型的一些知识: 一.循环删除 1.前面我们学了列表,字典和集合的一些操作方法:增删改查,现在我们来看一下这个问题: 有这样一个列表: lst = ['周杰伦','周润 ...

  6. python 的深浅拷贝问题

    深浅拷贝概念 基本类型和引用类型数据拷贝的问题.因为基本类型的数据大小是固定的,所以他保存在栈内存中:而引用类型的数据大小不固定,因而保存在堆内存中,单引用类型在栈内存中只保存一个指向堆内存的指针. ...

  7. 24、简述Python的深浅拷贝以及应用场景

    深浅拷贝的原理 深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:copy.deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝 ...

  8. day2学python 数据类型+深浅拷贝+循环

    数据类型+深浅拷贝+循环 别的语言的数组 python不用定义 直接使用 color=['红','橙','黄','绿','青','蓝','紫'] print(color[1:3]) //打印[1,3) ...

  9. 简述Python的深浅拷贝以及应用场景

    深浅拷贝的原理 深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:copy.deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝 ...

  10. python 赋值 深浅拷贝

    深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 impor ...

随机推荐

  1. jenkins+git+gitlab+ansible实现持续集成自动化部署

    一.环境配置 192.168.42.8部署gitlab,节点一 192.168.42.9部署git,Jenkins,ansible服务器 192.168.42.10节点二 二.操作演示 ①gitlab ...

  2. Python深入学习之特殊方法与多范式

    Python深入学习之特殊方法与多范式 Python一切皆对象,但同时,Python还是一个多范式语言(multi-paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来 ...

  3. C/C++之编程语言学习资源

    前言 因朋友相问,藉以帮助需要学习C.C++语言的后来小伙伴. 网络视频资源 选择其中一系列即可,切忌贪多嚼不烂. [系列1:可能会面临开课时间错过的问题,二门课程只要能上其一即可,均为浙大翁恺老师的 ...

  4. ScrollView设置了ContentSize高度为0,仍然能滑动的问题

    你有没有遇到过这样的情况: 对于ScrollView的不能上下滑动,设置了以下代码: _scrollViewTitle=[[UIScrollView alloc]initWithFrame:CGRec ...

  5. k8s测试容器之间是否互通

    [root@lab2 .kube]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE curl-87b54756-rbqz ...

  6. fiddler的使用:抓包定位、模拟弱网

    一.fiddler抓包定位 Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(cookie,htm ...

  7. 关于DOM操作的案例

    1. 模态框案例 需求: 打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框 代码如下: <!DOCTYPE html> < ...

  8. URL库函数

    1.urlopen from urllib import request resp=request urlopen('http://www.baidu.com') print(resp.read()) ...

  9. 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念

    linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10.04 开发平台:S3C2440开发板 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  10. luoguP1045 (Java大数)

    题目链接:https://www.luogu.org/problemnew/show/P1045 题意:给定p(1000<p<3100000),求2^p-1的位数和最后500位(若不足高位 ...