Python深浅拷贝

结论:

1.浅拷贝:只拷贝外层可变数据类型,内层和不可变外层都是引用

浅拷贝是对一个对象父级(外层)的拷贝,并不会拷贝子级(内部)。使用浅拷贝的时候,分为两种情况。
第一种,如果最外层的数据类型是可变的,比如说列表,字典等,浅拷贝会开启新的地址空间去存放。
第二种,如果最外层的数据类型是不可变的,比如元组,字符串等,浅拷贝对象的时候,还是引用对象的地址空间

 

2.深拷贝能改的都是拷贝,不能改的都是引用(因为拷了也随便改不了,没太大意义)

深拷贝对一个对象是所有层次的拷贝(递归),内部和外部都会被拷贝过来。

深拷贝也分两种情况:
第一种,最外层数据类型可变。外层的会新开辟地址空间存放。如果里面是可变数据类型,内部会新开辟地址空间存放。如果内部数据类型不可变,内部则是对地址的引用。
第二种,外层数据类型不可变,如果内部数据是可变数据类型,外部和内部都会新开辟地址空间存放。如果内外部数据类型都不可变,外部和内部都是对地址的引用。

详细:https://blog.csdn.net/lovedingd/article/details/128257172

posted @ 2023-03-18 15:41  zwnsyw  阅读(25)  评论(0编辑  收藏  举报