二十七、深拷贝和浅拷贝

  • 浅拷贝

    • 实质是对变量的引用

      • 浅拷贝,只copy第一层结构

      • 说明:

        • 第一层结构如果有对其他对象的引用,如列表列表a = [[1,2],3,4]对象,那么第一层列表对象的元素a[0][1,2]对象),其引用的其实是指向第二层对象的内存地址

        • 如果通过浅拷贝b = a.copy(),那相当于对象b为[ID([1,2], 3, 4)],所以当对b对象b[0]下的元素进行修改时,那么因为ID([1, 2])这个内存地址,在a和b中,都是相等的,所以会直接导致a[0]对象的下层级的元素变动,这个变动与b[0]中的变动是相同的

  • 深拷贝

    • 实质是对当前对象的所有层级的对象的内存地址的拷贝

posted @ 2020-07-11 23:36  Norni  阅读(106)  评论(0编辑  收藏  举报