内容简介:Python3中赋值、浅拷贝和深拷贝
一、 Python 3中赋值操作其实是对象的引用,相当于起了个别名。可以使用 id 函数验证
二.、再来看看浅拷贝,list和dict中的copy方法,copy模块中的copy函数,都属于浅拷贝,即最外层对象完全复制一份,而内层对象只是引用(还是指向原来的内存地址)
三、最后是深拷贝,copy模块的deepcopy函数,即整个对象内外层统一在内存中拷贝了一份
四、通过id查看内存
1、list_two和list_one是赋值关系,即整个内外层对象的引用,内外层都指向同一内存
2、list_three和list_one是通过列表的copy方法拷贝的,属于浅拷贝(外层对象完全拷贝,内层对象只是引用)
内层对象只是引用,指向同一内存
3、list_four和list_one是通过copy.copy()函数拷贝的,也属于浅拷贝
内层对象只是引用,指向同一内存
4、list_five和list_one是通过copy.deepcopy()函数拷贝的,属于深拷贝(内外层对象统一复制一份到新内存)
内层对象也拷贝了一份,内存地址不一样
总结:赋值和深拷贝是完全相反的(赋值是全引用,深拷贝是全拷贝), 自带的copy方法和模块的copy函数都是浅拷贝。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Foundations of PEAR
Good, Nathan A./ Kent, Allan / Springer-Verlag New York Inc / 2006-11 / $ 50.84
PEAR, the PHP Extension and Application Repository, is a bountiful resource for any PHP developer. Within its confines lie the tools that you need to do your job more quickly and efficiently. You need......一起来看看 《Foundations of PEAR》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
在线进制转换器
各进制数互转换器