赋值语句的是内存地址引用,不是拷贝
拷贝是导入copy包,分copy和deepcopy两种,即浅拷贝和深拷贝
对于非嵌套数据
copy.copy 和 copy.deepcopy 没有区别 都会开辟新空间 存储数据
拷贝是导入copy包,分copy和deepcopy两种,即浅拷贝和深拷贝
对于非嵌套数据
copy.copy 和 copy.deepcopy 没有区别 都会开辟新空间 存储数据
![](https://i-blog.csdnimg.cn/blog_migrate/e16f045c9e44f10c9393ff022255354c.png)
有嵌套的数据
copy.copy没有办法保证数据的独立性,拷贝第一层的数据
copy.deepcopy完全拷贝所有的层级,都会有自己的空间
copy.copy没有办法保证数据的独立性,拷贝第一层的数据
copy.deepcopy完全拷贝所有的层级,都会有自己的空间
![](https://i-blog.csdnimg.cn/blog_migrate/2e10e55d26266c9387cf96af98106ac6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/29b77d6feccaa5c1fb1448aed251cf91.png)
不可变类型:元组,数字,字符串
深拷贝和浅拷贝一样,都不会开辟自己的空间了,直接引用原始空间
深拷贝和浅拷贝一样,都不会开辟自己的空间了,直接引用原始空间
![](https://i-blog.csdnimg.cn/blog_migrate/ada0b7c654297ce1fa810b0b301c7faa.png)
如果拷贝的数据类型一旦包含可变数据类型
浅拷贝依然不会有自己的空间,深拷贝开辟自己的空间
可变数据类型:列表,字典,集合