zoukankan      html  css  js  c++  java
  • 【python】赋值引用、浅拷贝、深拷贝的使用

    【个人理解】

      赋值后的变量还是指向相同的内存地址,也不算叫变量,相当于原有列表的别名或标签名。

      浅拷贝:浅拷贝只会拷贝原列表最外层(父层),且套的列表指向的内存地址还是和原列表一致。原来的列表操作父层没有关系,操作子层会和原列表一致。

      深拷贝:深拷贝会把父层子层都重新有新的内存地址,原来的列表操作和它没有一丝关系。

    【代码示例】

    # 赋值引用、浅拷贝和深拷贝
    import copy

    list_demo = [1, 2, 3, [5, 6]]
    Assignment = list_demo
    shallow_copy = list_demo.copy()
    deep_copy = copy.deepcopy(list_demo)
    print('原列表%s,赋值后%s, 浅拷贝%s, 深拷贝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
    print('--------------------------------------')
    list_demo.append(88)
    list_demo[3] .append(7)
    print('原列表%s,赋值后%s, 浅拷贝%s, 深拷贝%s' % (list_demo,Assignment, shallow_copy, deep_copy))
    【执行结果】

  • 相关阅读:
    UML 类与类之间的关系
    HTTP协议基础
    LDAP介绍
    UML 类与类之间的关系
    我的桌面
    RoR的OO与敏捷[1][88250原创]
    Ubuntu7.10纯仿Leopard[00原创]
    37个我爱Ruby的理由
    在Ubuntu 7.10上安装Rails[00整理]
    RoR的OO与敏捷[1][88250原创]
  • 原文地址:https://www.cnblogs.com/ygod323/p/14913656.html
Copyright © 2011-2022 走看看