zoukankan      html  css  js  c++  java
  • python深拷贝、浅拷贝。

    浅拷贝

    拷贝内存地址,拷贝出来的值指向同一个内存地址(拷贝了引用,并没有拷贝内容)

    深拷贝

    深拷贝是对于一个对象所有层次的拷贝(递归)

    a = [11,22,33]
    b = a  #浅拷贝  指向同一个内存地址。
    
    print(id(a) == id(b)) #True
    print(id(a))
    print(id(b))
    
    import copy
    
     #深拷贝  内容相同,但重新开辟一个新内存,内存地址不同。
    
    c = a.copy()
    print(id(a) == id(c)) #False
    print(id(a))
    print(id(c))
    import copy
    a = [11, 22, 33]
    b = [55, 44]
    
    c = [a, b]
    
    print(c,"--->c")   # [[11, 22, 33], [55, 44]] --->c
    
    a.append(66)
    print(c,"--->c")  #[[11, 22, 33, 66], [55, 44]] --->c
    
    
    d = copy.deepcopy(c)
    print(d,"--->d") #[[11, 22, 33, 66], [55, 44]] --->d
    
    b.append(666)
    print(d,"--->d") #[[11, 22, 33, 66], [55, 44]] --->d
  • 相关阅读:
    soap-学习
    Redis教程
    Java 不可变对象
    java volatile
    Go语言
    mongodb 基础语法
    Linux 命令大全
    Java json字符串对比
    sqlserver 数据库阻塞和死锁
    http 和 https 的区别
  • 原文地址:https://www.cnblogs.com/ksunone/p/8551460.html
Copyright © 2011-2022 走看看