Python3.5-20190504-自我笔记浅拷贝和深拷贝

浅拷贝和深拷贝 (自己一直搞不懂的)

1.直接赋值(把一个变量直接赋值给另一个变量),他们指向同一个内存的数据(右边的图不知道怎么画,就直接截图过来了.将就看看)

-------------

2.使用copy中的copy方法,浅拷贝(只拷贝了最外层的数据,里面的还是指向原来的(列表嵌套))

----------------------------

整体效果就是 :

3.使用copy模块中的deepcopy()方法,是里里外外都是新拷贝的(随便改变任何值都不会对另一个有影响,自己试试)

图形记忆就是这样

 

就是这样,还没有结束,刚刚咱们是对列表嵌套列表了,那元组嵌套列表呢?元组不能修改,但是里面的列表可以修改啊

 

-------------------晚上又看到了总结:

浅拷贝:对可变类型(列表\字典\set)copy 会创建新的空间,但是里层的还是原来的

    对于不可变类型(元组\字符串\数字)copy,都不会创建新的空间

浅拷贝:对可变类型(列表\字典\set)deepcopy 会创建新的空间,且里层的也是新空间.深拷贝强调的就是递归拷贝

 

切片也是浅拷贝哦 // 就是  list1[:]   和copy.copy(list1)是一样的效果

 

posted @ 2019-05-04 16:19  Tarzen  阅读(215)  评论(0编辑  收藏  举报