python 前拷贝和深拷贝

所有抱怨社会不公和制度的人翻译过来只有一句话:请给我金钱,女人和社会地位。

 

浅拷贝

在Python中是创建一个新的对象,这个对象有着原始对象的一些引用,这些引用指向原始对象中的一些元素

import copy  
  
original_list = [1, 2, [3, 4]]  
new_list = copy.copy(original_list)

修改new_list里面的值,original_list 也会修改

 

深拷贝

深拷贝不仅会复制对象,还会递归的复制对象所关联的对象

import copy  
  
original_list = [1, 2, [3, 4]]  
new_list = copy.deepcopy(original_list)

修改new_list里面的值,不会影响original_list的值

 

deepcopy函数的实质就是本质原理其实就是对象的一次序列化和一次反序列化;

 

深拷贝带来的问题:

1、如果直接或者间接的引用的自身,会导致无休止的递归拷贝;
2、可能对原本设计为多个对象的共享数据也进行看拷贝;

 

posted @ 2022-12-24 08:57  方达达  阅读(22)  评论(0)    收藏  举报