Python的深拷贝、浅拷贝

浅拷贝

定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。
浅拷贝的特点:
    公用一个值;
    这两个变量的内存地址一样;
    对其中一个变量的值改变,另外一个变量的值也会改变;
    例如:
    >>> a  = [11,22,33,44]
    >>> b =a 
    >>> id(a)
    >>> 4327773384
    >>> id(b)
    >>> 4327773384
    >>> a.appened(55)
    >>> a
    >>>[11,22,33,44,55]
    >>>b
    >>>[11,22,33,44,55]

深拷贝:

定义:一个变量对另外一个变量的值拷贝。
深拷贝的特点:
两个变量的内存地址不同;
两个变量各有自己的值,且互不影响;
对其任意一个变量的值的改变不会影响另外一个
>>> import copy
>>> a=[11,22,33]
>>> b=copy.deepcopy(a)
>>> a
[11, 22, 33]
>>> b
[11, 22, 33]
>>> id(a)
>>> id(b)
>>> a.append(44)
>>> a
[11, 22, 33, 44]
>>> b
[11, 22, 33]
>>>

转载:https://www.cnblogs.com/my-blogs-for-everone/p/8336213.html

原文地址:https://www.cnblogs.com/qixc/p/11889671.html