Python3.5-20190504-自我笔记浅拷贝和深拷贝
浅拷贝和深拷贝 (自己一直搞不懂的)
1.直接赋值(把一个变量直接赋值给另一个变量),他们指向同一个内存的数据(右边的图不知道怎么画,就直接截图过来了.将就看看)
-------------
2.使用copy中的copy方法,浅拷贝(只拷贝了最外层的数据,里面的还是指向原来的(列表嵌套))
----------------------------
整体效果就是 :
3.使用copy模块中的deepcopy()方法,是里里外外都是新拷贝的(随便改变任何值都不会对另一个有影响,自己试试)
图形记忆就是这样
就是这样,还没有结束,刚刚咱们是对列表嵌套列表了,那元组嵌套列表呢?元组不能修改,但是里面的列表可以修改啊
-------------------晚上又看到了总结:
浅拷贝:对可变类型(列表\字典\set)copy 会创建新的空间,但是里层的还是原来的
对于不可变类型(元组\字符串\数字)copy,都不会创建新的空间
浅拷贝:对可变类型(列表\字典\set)deepcopy 会创建新的空间,且里层的也是新空间.深拷贝强调的就是递归拷贝
切片也是浅拷贝哦 // 就是 list1[:] 和copy.copy(list1)是一样的效果