深拷贝和浅拷贝
copy.copy()浅拷贝好处是:节省时间,和节省空间,缺点:无法保证数据的安全
copy.deepcopy()深拷贝 improt copy
在拷贝简单的数据类型(a=[1,2])
没有区别,都是开辟新的一片保证数据的独立性
浅拷贝 仅仅是拷贝了引用 没有办法保证数据的独立性
深拷贝 完全拷贝数据并且开辟空间 保证数据的独立性
拷贝元祖(不可变类型的数据)的时候
深拷贝 完全拷贝数据 并且开辟的空间 直接引用 。如果不可变类型 比如元祖中 有可变类型的数据:1.深拷贝:保证数据的独立性2.浅拷贝:直接引用
切片拷贝,字典拷贝都是浅拷贝
基本类型属性 引用类型属性 引用类型备注
浅拷贝 拷贝值 拷贝引用,指向原引用的地址,如果修改引用的属性,都会影响另外一个对像
深拷贝 拷贝值 拷贝引用和引用的内容,并创建新的实例,指向新的地址可以理解,创建一个新的对象,把原对象的内容复制到新对象中
copy.copy()浅拷贝好处是:节省时间,和节省空间,缺点:无法保证数据的安全
copy.deepcopy()深拷贝 improt copy
在拷贝简单的数据类型(a=[1,2])
没有区别,都是开辟新的一片保证数据的独立性
浅拷贝 仅仅是拷贝了引用 没有办法保证数据的独立性
深拷贝 完全拷贝数据并且开辟空间 保证数据的独立性
拷贝元祖(不可变类型的数据)的时候
深拷贝 完全拷贝数据 并且开辟的空间 直接引用 。如果不可变类型 比如元祖中 有可变类型的数据:1.深拷贝:保证数据的独立性2.浅拷贝:直接引用
切片拷贝,字典拷贝都是浅拷贝
基本类型属性 引用类型属性 引用类型备注
浅拷贝 拷贝值 拷贝引用,指向原引用的地址,如果修改引用的属性,都会影响另外一个对像
深拷贝 拷贝值 拷贝引用和引用的内容,并创建新的实例,指向新的地址可以理解,创建一个新的对象,把原对象的内容复制到新对象中