美文网首页
Python中深拷贝、浅拷贝

Python中深拷贝、浅拷贝

作者: 伊森H | 来源:发表于2018-03-28 20:29 被阅读0次
3.png

赋值

将一个变量赋值给另一个变量,这个过程叫做赋值。赋值会导致多个变量同时指向一块内存,所以此时不管是==或者is都返回True


1.png

所以当一个发送变量,另一个也随之发送变化。


2.png

浅拷贝(copy)

浅拷贝是对于一个对象的顶层拷贝
通俗的理解是:拷贝了引用,并没有拷贝内容


3.png

但是,当a发送变化时,b不会变化:


4.png

深拷贝

深拷贝是对于一个对象所有层次的拷贝(递归)

深拷贝浅拷贝

import copy

#这里有子对象
numbers=['1','2','3',['4','5']]
#浅copy
num1=copy.copy(numbers)
#深copy
num2=copy.deepcopy(numbers)

拷贝的其他方

注意常量类型的深浅拷贝问题(如字符串、数值型、元组)

相关文章

网友评论

      本文标题:Python中深拷贝、浅拷贝

      本文链接:https://www.haomeiwen.com/subject/bvwucftx.html