pythonCopy
时间: 2024-03-22 21:36:23 浏览: 17
Python中的`copy`是一个用于复制对象的函数。它可以创建一个新的对象,该对象与原始对象具有相同的值,但是在内存中具有不同的地址。`copy`函数有两种常用的用法:
1. 浅拷贝(Shallow Copy):使用`copy.copy()`函数进行浅拷贝。浅拷贝创建一个新的对象,但是它仅复制原始对象中的引用,而不是创建原始对象中引用的副本。这意味着,如果原始对象包含可变对象(如列表或字典),则浅拷贝后的对象中的这些可变对象仍然是原始对象中相同的对象。
2. 深拷贝(Deep Copy):使用`copy.deepcopy()`函数进行深拷贝。深拷贝创建一个完全独立的新对象,包括原始对象中的所有子对象。这意味着,无论原始对象中包含的是可变对象还是不可变对象,深拷贝后的对象都是完全独立的。
下面是一个示例代码,演示了如何使用`copy`函数进行浅拷贝和深拷贝:
```python
import copy
# 原始列表
original_list = [1, 2, [3, 4]]
# 浅拷贝
shallow_copy = copy.copy(original_list)
# 深拷贝
deep_copy = copy.deepcopy(original_list)
# 修改原始列表中的可变对象
original_list[2][0] = 5
print(original_list) # 输出: [1, 2, [5, 4]]
print(shallow_copy) # 输出: [1, 2, [5, 4]]
print(deep_copy) # 输出: [1, 2, [3, 4]]
```