对http://www.cnblogs.com/CHYGO/articles/1916427.html进行深拷贝
时间: 2023-09-27 08:10:11 浏览: 86
likeke00.github.io:https://www.cnblogs.comthanksblogp12900165.html
5星 · 资源好评率100%
对于这篇博客,深拷贝就是将原始对象的所有属性值都复制到一个新的对象中,并且递归地复制所有子对象,以此类推,直到所有子对象都被复制。可以使用以下代码进行深拷贝:
```python
import copy
class MyClass:
def __init__(self):
self.list = [1, 2, 3]
obj1 = MyClass()
# 创建一个深拷贝的新对象
obj2 = copy.deepcopy(obj1)
# 修改原始对象的属性值
obj1.list.append(4)
# 输出两个对象的属性值,可以看到它们完全独立
print(obj1.list) # [1, 2, 3, 4]
print(obj2.list) # [1, 2, 3]
```
在这个例子中,我们使用了Python的`copy`模块的`deepcopy`函数来创建一个深拷贝的新对象`obj2`,并将原始对象`obj1`中的`list`属性值复制到`obj2`中。然后,我们修改了`obj1`中的`list`属性值,但是`obj2`的`list`属性值并没有受到影响。
阅读全文