simultaneous assignment
Heiko Wundram
me+python at modelnine.org
Tue May 2 16:52:56 EDT 2006
Am Dienstag 02 Mai 2006 22:39 schrieb Edward Elliott:
> Which raises an interesting parallel question: is there a way to clone an
> arbitrary object?
Yes, check the copy module.
copy.copy() does a shallow copy of the parameter, copy.deepcopy() a deep copy
of the parameter. For the difference between the two, check the manual.
(basically, a deep copy copies the whole object tree for container objects
such as lists/tuples/dicts/instances, a shallow copy copies only the topmost
container)
> <snip...>
> but not small ones:
> >>> a = 5
> >>> b = a + 0
> >>> id(a) == id(b)
>
> True
What sense is there cloning integers/strings? Integer and string objects are
immutable in Python, so why'd you want to have different IDs for an object of
the same value? It's the value you're working with in a program, not the
objects ID. At least it should be, if you're truly intent on working with the
(pseudo-random) object-ID, something with your design is really, really
broken.
--- Heiko.
More information about the Python-list
mailing list