深浅拷贝
#数据类型可变和不可变: # 不可变类型:整型,长整型,浮点数,复数,布尔,字符串,元组 # 可变类型:列表,字典 #总结!!! #1、copy()浅拷贝,针对有可变类型数据时,关联数据都会产生变化(因此使用时要注意) #2、当使用copy()、deepcopy()对 一个全部都是不可变类型的数据进行拷贝,都是深拷贝,都不会改变指向 # 区别:+++++++++++++ #浅拷贝: # 不管多么复杂的数据结构,浅拷贝都只会copy一层(数据会关联改变) # 例:A字符串中存在可变类型数据,B浅拷贝了A,那么之后再进行修改A中可变数据后,B也会随之发生改变(而使用深拷贝就不会) # 因此在字典嵌套字典、列表嵌套字典、字典嵌套列表,列表嵌套列表,以及各种复杂数据结构的嵌套中, # 当数据类型很复杂的时候,用copy去进行浅拷贝就要非常小心 #深拷贝 # 就是在内存中重新开辟一块空间,不管数据结构多么复杂,只要遇到可能发生改变的数据类型, # 就重新开辟一块内存空间把内容复制下来,直到最后一层,不再有复杂的数据类型,就保持其原引用。 # 这样,不管数据结构多么的复杂,数据之间的修改都不会相互影响。这就是深拷贝