美文网首页
Python浅复制和深复制的区别

Python浅复制和深复制的区别

作者: 锋锋锋锋丶 | 来源:发表于2019-07-12 14:49 被阅读0次

浅复制

修改不可变对象(str、tuple)需要开辟新的空间

修改可变对象(list等)不需要开辟新的空间

不可变类型的对象,对于深浅拷贝毫无影响,最终的地址值和值都是相等的。

可变类型:

=浅拷贝: 值相等,地址相等

copy浅拷贝:值相等,地址不相等

deepcopy深拷贝:值相等,地址不相等

可变类型(不允许作为字典的Key):列表、字典

By the way 若全局变量是可变类型(列表,字典),则在函数中可以直接修改,不使用global

不可变类型:数字、字符串、元组

相关文章

  • Python底层|赋值 浅拷贝 深拷贝

    参考 python中的深拷贝和浅拷贝问题python的复制,深拷贝和浅拷贝的区别 结论 总体来说,赋值只是增加了一...

  • 深拷贝与浅拷贝的理解及常用方法

    深拷贝和浅拷贝的区别 首先深复制和浅复制只针对像 Object, Array 这样的复杂对象的。简单来说,浅复制只...

  • iOS全解11:特殊问题

    1、浅拷贝和深拷贝的区别? 浅拷贝:只复制指向对象的指针,指针指向同一个地址,而不复制引用对象本身。深拷贝:复制引...

  • 拷贝与内存管理

    一、关于深拷贝和浅拷贝的总结 理解 本质上我认为区别在于复制是是指针复制(浅拷贝)还是复制到新的地址上(深拷贝) ...

  • Object-C 基础知识

    --------------------| 浅复制和深复制区别 |------------------- 浅复制(...

  • python赋值、浅拷贝和深拷贝

    简介   python中关于对象复制有三种类型:直接赋值、浅拷贝和深拷贝,他们既有联系又有区别。在python中,...

  • 浅拷贝、深拷贝 生成器 迭代器

    Python中的赋值(复制)、浅拷贝、深拷贝之间的区别 1.赋值: 只是复制了新对象的引用,不会开辟新的内存空间...

  • 深拷贝

    ?深拷贝和浅拷贝的区别 ? 1.浅拷贝:只复制指向某个对象的指针,而不复制对象本身,新旧对象共享一块内存(只复制引...

  • 浅拷贝与深拷贝NSMutableCopy、NScopy

    1.浅拷贝和深拷贝的区别 浅拷贝只是复制对象本身,对象属性包含的对象不复制,不产生新对象,直接指向原有对象。 深拷...

  • 深拷贝与浅拷贝的区别,实现深拷贝的方法

    深复制和浅复制最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用。深拷贝和浅拷贝是只针对Object和...

网友评论

      本文标题:Python浅复制和深复制的区别

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