目标:
1:掌握数据的深浅拷贝区别
2:掌握python怎么实现深浅拷贝
 
一:数据的深浅拷贝区别
 
浅拷贝:只拷贝数据的内存地址(引用),不会开辟新的内存空间,不能保证数据的独立性,如果拷贝的是对象【列表的嵌套】,原对象和copy对象都指向于同一个内存空间,不会拷贝对象内部的子对象
 
深拷贝:拷贝后会开辟新的内存空间存放拷贝后的数据,如果拷贝的是对象【列表的嵌套】,原对象和copy对象指向不同的内存空间,会拷贝对象及其子对象
 
注意事项:上述的深浅拷贝只是相对的,有些数据类型不能保证其正确性,比如简单可变数据类型(列表)的浅拷贝就会产生新的内存空间!
 
 
二:python怎么实现深浅拷贝
 
关键字:
浅拷贝:copy(变量名)
深拷贝:deepcopy(变量名)
 
语法:
import copy
list1 = [1,2,3,4]
list2 = copy.copy(list1)       浅拷贝
list3 = copy.deepcopy(list1)  深拷贝
 
 
图示:
 
 
