Writing an immutable object in python
Mapisto
mapisto at gmail.com
Mon Oct 17 11:28:18 EDT 2005
Hi,
I've noticed that if I initialize list of integers in the next manner:
>>> my_list = [0] * 30
It works just fine, even if I'll try to assign one element:
>>> id( my_list[4] )
10900116
>>> id( my_list[6] )
10900116
>>> my_list[4] = 6
>>> id( my_list[4] )
10900044
>>> id( my_list[6] )
10900116
The change in the poision occurs becouse int() is an immutable object.
if I will do the same with a user-defined object, This reference
manipulating will not happen. So, every entry in the array will refer
to the same instance.
Is there a way to bypass it (or perhaps to write a self-defined
immutable object)?
More information about the Python-list
mailing list