深拷贝代码怎么写
时间: 2023-07-10 21:16:02 浏览: 132
javascript深拷贝
深拷贝是指将一个对象完全复制一份,新对象与原对象互不干扰。下面是一个深拷贝的示例代码:
```python
import copy
class MyClass:
def __init__(self, value):
self.value = value
def __str__(self):
return str(self.value)
# 创建一个对象
obj1 = MyClass(1)
# 浅拷贝对象
obj2 = copy.copy(obj1)
# 深拷贝对象
obj3 = copy.deepcopy(obj1)
# 改变拷贝对象的值
obj2.value = 2
obj3.value = 3
# 打印原对象和拷贝对象的值
print("原对象的值:", obj1)
print("浅拷贝对象的值:", obj2)
print("深拷贝对象的值:", obj3)
```
在这个示例中,我们创建了一个自定义的类 `MyClass`,并创建了一个对象 `obj1`。然后使用 `copy` 模块的 `copy()` 方法进行浅拷贝,使用 `deepcopy()` 方法进行深拷贝。最后,我们改变了拷贝对象的值,并打印了原对象和拷贝对象的值,可以看到,浅拷贝对象的值和原对象的值相同,而深拷贝对象的值与原对象的值不同。
阅读全文