zoukankan      html  css  js  c++  java
  • Python基础入门知识点——深浅拷贝

    深浅拷贝

    对象引用、浅拷贝、深拷贝(拓展、难点、重点)

    Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果

    其实这个是由于共享内存导致的结果

    拷贝:原则上就是把数据分离出来,复制其数据,并以后修改互不影响。

    先看一个非拷贝的例子

    使用=赋值(对象引用)

    =赋值:数据完全共享

    =赋值是在内存中指向同一个对象,如果是可变(mutable)类型,比如列表,修改其中一个,另一个必定改变

    如果是不可变类型 (immutable) ,比如字符串,修改了其中一个,另一个并不会变

     

    浅拷贝(copy)

    浅拷贝:数据半共享(复制其数据独立内存存放,但是只拷贝成功第一层)

     

    深拷贝(deepcopy)

    深拷贝:数据完全不共享(复制其数据完完全全放独立的一个内存,完全拷贝,数据不共享)

    深拷贝就是完完全全复制了一份,且数据不会互相影响,因为内存不共享。

    深拷贝的方法有

  • 相关阅读:
    聊聊es6中的解构
    JavaScript 中的面向对象编程
    TypeScript 中的类型保护
    7个你应该知道的 JavaScript 原生错误类型
    使用JavaScript策略模式校验表单
    nodejs如何解决高并发?
    nodejs核心模块有哪些?
    Dungeon Master
    Gold Balanced Lineup
    poj 2513Colored Sticks
  • 原文地址:https://www.cnblogs.com/hhh188764/p/13526233.html
Copyright © 2011-2022 走看看