[Tutor] question concerning deepcopy

Gregor Lingl glingl at aon.at
Sat Apr 29 21:15:56 CEST 2006




Kent Johnson schrieb:
> Gregor Lingl wrote:
> 
>>Thanks, Kent  for the hint. It works (of course).
>>Skimming through this part of the docs I discovered, that there is a 
>>special method __deepcopy__. So I also  tried using this, adding
>>
>>	def __deepcopy__(self,visit):
>>		return self
>>
>>to my Vec class, which also seems to work. (I think this not to
>>be harmful as Vecs should be, like tuples, immutable).
>>And, indeed, it also seems to work.
> 
> 
> That is not a correct deep copy, it is a shallow copy. Although Vec 
> objects are immutable they may contain mutable objects. The point of 
> deep copy is to copy "all the way down" so the objects contained by a 
> Vec should also be copied.

O.k. I understand. It's just that my Vec class invariably has two
numbers as elements (otherwise the abs-method wouldn't make sense.
That's what I meant with 'Vecs are immutable'). So in my case it works,
but would have to be considered bad style?

Thanks, again
Gregor

> Kent
> 
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
> 
> 

-- 
Gregor Lingl
Reisnerstrasse 3/19
A-1030 Wien

Telefon: +43 1 713 33 98
Mobil:   +43 664 140 35 27

Website: python4kids.net


More information about the Tutor mailing list