MegaMU个人站

欢迎光临

落日黄沙 白帆秋水 你可知谁的记忆在时空里飞?


Python中的可变与&不可变与拷贝

目录

可变与不可变

可变与不可变,是指内存中的是否可以被改变

  • 可变类型,创建之后可以继续修改内容
  • 不可变类型,创建之后不能继续修改内容

我们可以使用id()来查看内存地址


拷贝

使用copy模块进行拷贝操作。

  • 浅拷贝
    • 引用地址,产生新的内存空间,原对象与copy对象指向同一个内存空间
      • 对简单可变类型进行浅拷贝,也会产生新空间

      • 对复杂可变类型进行浅拷贝,子对象引用原子对象的地址,父对象使用新空间

        浅拷贝只拷贝最顶层数据

    • 只拷贝父对象,不拷贝子对象
    • 使用copy.copy()进行浅拷贝
  • 深拷贝
    • 产生新的内存空间,原对象与copy对象指向不同的内存空间
    • 会拷贝目标对象及子对象
      • 拷贝简单不可变的数据类型时深拷贝和浅拷贝都是直接引用
      • 拷贝嵌套可变类型的不可变数据时会开辟多个存储空间
    • 使用copy.deepcopy()进行深拷贝

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦