目前我正在使用复制模块来创建我拥有的某个对象的副本。
在某些情况下(经常发生),我需要创建原始对象的几个副本,然后单独修改它们(因此我使用副本的原因)。
该对象有多个不同数据类型的实例(列表,整数,字符串,其他类),副本需要具有相同的值,但我不确定调用copy.deepcopy()是否会更快,或者做点什么
def copy(self, other): other.prop1 = self.prop1 other.prop2 = self.prop2 other.prop3 = self.prop3
有没有人遇到这个问题,然后决定使用复制模块更好,因为它会比大多数人想出来的更快?
PS:上面的代码无法正确复制我提到的可变对象和那些“其他类”。也许这表明深度扫描是最安全(和最快)的途径?
答案 0 :(得分:2)
不要试图搞笑,但你考虑过分析你的代码吗? Documentation here。将copy.deepcopy与您自己的自定义复制方法进行比较。这样你就可以得到关于你的特定情况的硬数据,并做出最好的决定 - 如果有人问你为什么这么做的话就备份它!