私はこのコピーメソッドを、それを必要とする多くのクラスでかなり長い間使用してきました。
class population (list):
def __init__ (self):
pass
def copy(self):
return copy.deepcopy(self)
突然、このエラーが発生し始めました。
File "C:\Python26\lib\copy.py", line 338, in _reconstruct
state = deepcopy(state, memo)
File "C:\Python26\lib\copy.py", line 162, in deepcopy
y = copier(x, memo)
File "C:\Python26\lib\copy.py", line 255, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "C:\Python26\lib\copy.py", line 189, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "C:\Python26\lib\copy.py", line 323, in _reconstruct
y = callable(*args)
File "C:\Python26\lib\copy_reg.py", line 93, in __newobj__
return cls.__new__(cls, *args)
TypeError: object.__new__(generator) is not safe, use generator.__new__()
>>>
行338、162、255、189への参照を含む行は、ここでコピーした「行338」の前にかなりの回数繰り返されました。