copy
#常用库
2024-06-03
Python的copy
库提供了通用的浅拷贝(shallow copy)和深拷贝(deep copy)操作。这个库对于处理复杂的数据结构(如列表、字典、自定义对象等)时,实现对象的复制非常有用,特别是当你需要复制的对象包含了对其他对象的引用时。
浅拷贝(Shallow Copy)
浅拷贝创建一个新对象,但它不会递归地复制对象中引用的其他对象,而是复制这些引用本身。这意味着,如果原始对象中的某个成员是对另一个对象的引用,那么在浅拷贝版本中,这个成员仍然指向同一个对象。因此,修改这个被引用的对象将会影响到原始对象和它的浅拷贝版本。
在copy
库中,可以使用copy()
函数来执行浅拷贝操作:
1 |
|
深拷贝(Deep Copy)
深拷贝创建一个新对象,然后递归地复制原始对象中引用的所有对象。这意味着,如果原始对象包含了对其他对象的引用,深拷贝不仅会复制原始对象本身,还会复制所有被引用的对象及其链条上的对象。因此,原始对象和它的深拷贝版本在结构上完全独立,修改任何一个对象的成员都不会影响到另一个。
在copy
库中,可以使用deepcopy()
函数来执行深拷贝操作:
1 |
|
例子
1 |
|
out:
1 |
|