18-python_浅拷贝深拷贝

1. python对内存的使用
 - 浅拷贝 和 深拷贝
   - 浅 拷贝 : 对引用的拷贝
   - 深 拷贝 : 对资源(实体)的拷贝

    >>> import copy
    >>> list1 = [1,"a", [1,2]]
    >>> list2 = copy.copy(list1)  
    >>> list3 = copy.deepcopy( list1 )
    >>> id( list1 ) , id( list2 ) , id( list3 )
    (25242160, 25240840, 25243480)
    >>> id( list1[0] ) , id( list2[0] ) , id( list3[0] )
    (20397168, 20397168, 20397168)
    >>> id( list1[1] ) , id( list2[1] ) , id( list3[1] )
    (20008472, 20008472, 20008472)
    >>> id( list1[2] ) , id( list2[2] ) , id( list3[2] )
    (25232488, 25232488, 25243600)
    >>> id( list1[2][0] ) , id( list2[2][0] ) , id( list3[2][0] )
    (20397168, 20397168, 20397168)
    >>> id( list1[2][1] ) , id( list2[2][1] ) , id( list3[2][1] )
    (20397156, 20397156, 20397156)


2. 图

18-python_浅拷贝深拷贝_第1张图片


你可能感兴趣的:(python,浅拷贝深拷贝)