python中的深浅拷贝

时间:2021-08-21 19:53:35

python中的拷贝模块copy

数据类型中的copy方法都是引用copy模块中的copy方法,这个方法是浅拷贝;copy模块还有一个深拷贝deepcopy

import copy

#浅拷贝

copy.copy()

#深拷贝

copy.deepcopy()
#赋值

=

我们可以将python中的数据类型分为两种:

1.字符串和数字

对于字符串和数字类型,在创建的时候内存就会开辟一个内存池,无论使用赋值、浅拷贝、深拷贝都是复制了他在内存中的地址,新的变量都是指向这个内存地址。

python中的深浅拷贝

2.其他:列表、元祖、字典、集合等

在这个数据类型中,赋值>>内存地址不变

浅拷贝>>第一层的地址改变,内存的地址不变

python中的深浅拷贝

深拷贝>>多层的地址改变,但是字符串和数字的内存不变

作用:浅拷贝在拷贝大量数据且不需要改变内部元素的值的时候,能大量的减少内存的使用;

深拷贝在拷贝大量数据的时候,需要在前后内部元素的内容进行改变的时候,可以修改拷贝出来的模板

python中的深浅拷贝