• 深拷贝与浅拷贝


    一、浅拷贝

    定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。

    浅拷贝的特点:

    • 公用一个值;
    • 这两个变量的内存地址一样;
    • 对其中一个变量的值改变,另外一个变量的值也会改变;
    >>> a=[11,22,33]
    >>> b=a
    >>> id(a)
    40488632
    >>> id(b)
    40488632
    >>> a is b
    True
    >>> a.append(44)
    >>> a
    [11, 22, 33, 44]
    >>> b
    [11, 22, 33, 44]
    >>>

    二、深拷贝:

    定义:一个变量对另外一个变量的值拷贝。

    深拷贝的特点:

    • 两个变量的内存地址不同;
    • 两个变量各有自己的值,且互不影响;
    • 对其任意一个变量的值的改变不会影响另外一个;
    >>> import copy
    >>> a=[11,22,33]
    >>> b=copy.deepcopy(a)
    >>> a
    [11, 22, 33]
    >>> b
    [11, 22, 33]
    >>> id(a)
    40489528
    >>> id(b)
    40505392
    >>> a.append(44)
    >>> a
    [11, 22, 33, 44]
    >>> b
    [11, 22, 33]
    >>>
  • 相关阅读:
    MongoVUE 使用教程
    Mongo
    thinkPHP
    从关系型数据库到非关系型数据库
    boost 文件系统
    boost 随机数发生器
    CString/string 区别及其转化
    boost uuid
    使用命令行解析php文件
    Log4PHP日志库使用
  • 原文地址:https://www.cnblogs.com/HandsUp/p/13613460.html
Copyright © 2020-2023  润新知