深浅拷贝

#数据类型可变和不可变:
# 不可变类型:整型,长整型,浮点数,复数,布尔,字符串,元组
# 可变类型:列表,字典



#总结!!!
#1、copy()浅拷贝,针对有可变类型数据时,关联数据都会产生变化(因此使用时要注意)
#2、当使用copy()、deepcopy()对  一个全部都是不可变类型的数据进行拷贝,都是深拷贝,都不会改变指向


# 区别:+++++++++++++
#浅拷贝:
# 不管多么复杂的数据结构,浅拷贝都只会copy一层(数据会关联改变)
# 例:A字符串中存在可变类型数据,B浅拷贝了A,那么之后再进行修改A中可变数据后,B也会随之发生改变(而使用深拷贝就不会)
# 因此在字典嵌套字典、列表嵌套字典、字典嵌套列表,列表嵌套列表,以及各种复杂数据结构的嵌套中,
# 当数据类型很复杂的时候,用copy去进行浅拷贝就要非常小心

#深拷贝
# 就是在内存中重新开辟一块空间,不管数据结构多么复杂,只要遇到可能发生改变的数据类型,
# 就重新开辟一块内存空间把内容复制下来,直到最后一层,不再有复杂的数据类型,就保持其原引用。
# 这样,不管数据结构多么的复杂,数据之间的修改都不会相互影响。这就是深拷贝

 

posted on 2020-12-05 16:38  QiKa  阅读(76)  评论(0编辑  收藏  举报