zoukankan      html  css  js  c++  java
  • python深浅拷贝的理解和区分

     1 import copy
     2 
     3 a1 = ['s1','s2','s3']
     4 
     5 #可变数据类型
     6 a = [1,2,a1]
     7 
     8 b = a
     9 
      a1.append('s4') 10 #浅拷贝 11 c = copy.copy(a) 12 #深拷贝 13 d = copy.deepcopy(a) 14 15 #可变数据类型打印 16 print('值打印----:') 17 print(a1) 18 print(a) 19 print(b) 20 print(c) 21 print(d) 22 print('地址打印----:') 23 print(id(a1)) 24 print(id(a)) 25 print(id(b)) 26 print(id(c)) 27 print(id(d))
    
    
     pythons深浅拷贝
     
    深是深挖一层copy
     
    可变数据类型时,
     
    深拷贝的时候,无论数据类型里面多深,多少数据结构,都会完完整整的复制一份
     -里面的数据产生变化,对深拷贝的值没有影响 -开辟一块空间,把拷贝值放入
    浅拷贝,数据产生变化,新变量的值会发生变化
     
    浅拷贝,不可变数据类型时,只是把值赋给了新的变量,地址仍指向原来地址
    深拷贝,不可变,开辟了新的内存空间,指向新的地址
  • 相关阅读:
    随笔:金融的“游戏”规则——游戏世界的区块链喵与现实世界的金融科技
    js实现链表
    事件
    JQ操作DOM
    JQuery选择器
    AJAX
    file
    表单
    DOM
    window&navigator&screen&location
  • 原文地址:https://www.cnblogs.com/goddog1024/p/11138561.html
Copyright © 2011-2022 走看看