繁体   English   中英

Python:使用 copy.deepcopy 复制对象或编写我自己的副本

[英]Python: copying objects with copy.deepcopy or writing my own copy

目前我正在使用复制模块来创建我拥有的一些 object 的副本。

在某些情况下(经常发生),我可能需要创建原始 object 的多个副本,然后分别修改它们(因此我使用副本)。

object 有多个不同数据类型(列表、整数、字符串、其他类)的实例,并且副本需要具有相同的值,但我不确定调用 copy.deepcopy() 是否会更快,或者执行类似的操作

def copy(self, other):
   other.prop1 = self.prop1
   other.prop2 = self.prop2
   other.prop3 = self.prop3

有没有人遇到过这个问题,然后决定最好使用复制模块,因为它比大多数人想出的任何东西都要快?

PS:上面的代码不会正确复制可变对象和我提到的那些“其他类”。 也许这表明 deepcopy 是最安全(也是最快)的路线?

不要试图成为 glib,但您是否考虑过分析您的代码? 文档在这里 将 copy.deepcopy 与您自己的自定义复制方法进行比较。 这样,您将获得有关您的特定情况的硬数据,并可以做出最佳决定——如果有人问您为什么这样做,请支持它!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM