Python深浅拷贝,看完之后,你一定会大呼:帅气

2023-01-30 0 1,134

Python深浅拷贝,看完之后,你一定会大呼:帅气

讲词典的最终一片片,操作方式里头有位copy,只好借以提及了厚薄复本的相同,只不过这儿头除了许多值得称赞耐人寻味回去思索的小东西。

细细看,看完后,你一定会直呼:Python深浅拷贝,看完之后,你一定会大呼:帅气

先把包导呵呵,前面要加进。

import copy

为的是避免在看的你早已忘掉前面厚薄复本的范例,这儿拷贝过来看下。

Python深浅拷贝,看完之后,你一定会大呼:帅气

下面预设的表达式a表达式有两个特征,是条目套条目,而并非单纯的1,2,3此种int类别,或是”abc”,”bcd”此种数组,那他们来看一看又有甚么相同。

Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

那他们试下厚薄复本

Python深浅拷贝,看完之后,你一定会大呼:帅气

只不过我也很迷糊,听完是并非想打我?然而Python深浅拷贝,看完之后,你一定会大呼:帅气

虽然很奇怪,但是聪明的我怎么会想不懂呢。Python深浅拷贝,看完之后,你一定会大呼:帅气

这个和内存的使用有很大关系。

首先当程式存在a和int 1的时候,系统就需要开辟出一块内存来存储这个值了。

Python深浅拷贝,看完之后,你一定会大呼:帅气

看到没,表达式a和int 1是指向同两个内存地址,或是说表达式a指向存着整型1的内存地址。

当他们把a表达式给b的时候Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

糊了有木有,深复本怎么没有开新内存来存int 1。Python里头有两个概念叫做小整数池:(0 – 256)早已预先开辟好了内存空间,有且唯一,只要是你电脑里的Python程式要用这些数字,内存地址都一样。

只不过为的是省内存,不可能为的是相同的值大量开辟内存空间,所以只要相同,就会指向同一个内存地址。a = 1和 a = 2并并非修改1存在的内存地址,把2放进去,而是2会再开两个内存空间,有两个新的地址,然后表达式给a,就把a重新指向到2对应的内存地址。

1无论表达式给a,还是b,还是c,都是把abc指向1的内存地址,所以无论厚薄复本,改变a都不影响b。

所以,int,str等等的特性早已很明显了吧:一旦产生,不可改变。

而他们说,条目是可变的,因为至少知道append,可以动态添加就是可变。

他们来看呵呵。Python深浅拷贝,看完之后,你一定会大呼:帅气

我勒个去,怎么不一样呢?a并非应该指向条目[1,2,3]的内存地址吗?

多来几次看一看呢?每一次结果都不一样,哈哈哈Python深浅拷贝,看完之后,你一定会大呼:帅气

正所谓孙猴子“影子大法”,一把猴毛变出猴子一群,每个都一样,每个都要占个坑。Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气复本之前的变了或是复本后的变了,所谓的厚薄复本都没有意义。厚薄厚薄,你得有多层才有意义啊。

他们这样看Python深浅拷贝,看完之后,你一定会大呼:帅气

可以看出点差别了吧,浅复本包含的内存地址没变,深复本开辟了新的内存地址。

最终来看一看词典,就用“西天取经小队”词典来举例吧,这是两个双层词典的数据结构

Python深浅拷贝,看完之后,你一定会大呼:帅气

词典本身就有两个copy操作方式,他们来看下Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

现在west_team_msg 和west_team_msg_2看起来一样,那么他们修改west_team_msg看下。

小白龙不需要那么多花里胡哨的信息,就给个描述就行,修改如下

Python深浅拷贝,看完之后,你一定会大呼:帅气我去,为甚么没跟着一起变?难道这个copy也是个深复本?

再看两个,西游记中悟空有几次金箍棒被妖精偷走了,那么他们把“金箍棒拿掉”Python深浅拷贝,看完之后,你一定会大呼:帅气

神奇的事情又发生了,拿掉west_team_msg的兵器,west_team_msg_2的兵器也没了。Python深浅拷贝,看完之后,你一定会大呼:帅气

这个copy只不过就是词典的浅复本,只能真正复本一份外层词典,内层词典指向的内存地址无法复本。

那么用上deepcopy呢,初始化west_team_msgPython深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

Python深浅拷贝,看完之后,你一定会大呼:帅气

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务