Python3入门之——浅拷贝和深拷贝(深拷贝与浅拷贝python)

网友投稿 380 2022-08-23


Python3入门之——浅拷贝和深拷贝(深拷贝与浅拷贝python)

由于Python使用了对象引用,因此在使用赋值操作符(=)时,并没有进行赋值操作。如果右边的操作数是字面值,比如字符串或数字,那么左边的操作数被设置为一个对象引用,该对象引用将指向存放字面值的内存对象。如果右边的操作数是一个对象引用,那么左边的操作数将设置为一个对象引用,并与右边的操作数指向相同的对象。

浅拷贝

如果需要组合类型数据(或其他可变对象)的一个单独副本。对于序列,在提取数据片时,数据片总是取自某个数据项的一个单独副本。

对于字典与集合而言,这种复制操作可以使用dict.copy()与set.copy()来实现。此外,copy模块提供了copy.copy()函数,该函数返回给定对象的一个副本。对内置组合数据类型进行复制的另一种方法是使用类型名作为函数,将待复制的组合类型数据作为参数。

这些复制技术都是浅拷贝,复制的只是对象引用,而非对象本身。对固定数据类型,比如数字与字符串,这与赋值的效果是相同的。但是对于可变的数据类型,比如嵌套的组合类型,这意味着相关对象同时被原来的组合与复制得来的组合应用。

深拷贝


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java十大经典排序算法的实现图解
下一篇:Python入门之——getpass模块
相关文章

 发表评论

暂时没有评论,来抢沙发吧~