我想为类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
上面代码的问题在于,复制对象时,即使不需要获取初始值,也会调用初始化代码。在
如何在不运行初始化代码的情况下复制field1?我查找了关于__new__
的信息,但其中大部分都是指那些看起来不相关的工厂和东西,所以我仍然不清楚如何跳过初始化。在
我建议在
__init__()
方法中使用一个可选参数,如下所示:相关问题 更多 >
编程相关推荐