【发布时间】:2012-04-09 17:01:01
【问题描述】:
我想为类 A 实现我自己的复制方法,如下所示:
class A(object):
def __init__(self):
self.field1 = generate_a_list_of_ints()
def __copy__(self):
result = A()
result.fiel1[:] = self.field1[:]
return result
上面代码的问题是,当复制一个A对象时,即使不需要获取初始值,也会调用初始化代码。
如何在不运行初始化代码的情况下复制 field1?我查找了有关 __new__ 的信息,但其中大部分是指工厂和似乎无关的东西,所以我仍然不清楚如何跳过初始化。
【问题讨论】:
标签: python initialization copy-constructor