martes, 22 de septiembre de 2009

Mutabilidad, inmutabilidad y representaci´on de la informaci´on en
memoria
Python procura no consumir m´as memoria que la necesaria. Ciertos objetos son inmutables, es
decir, no pueden modificar su valor. El n´umero 2 es siempre el n´umero 2. La cadena ’Hola’
es siempre la cadena ’Hola’. Escalares y cadenas son objetos inmutables. Python almacena
en memoria una sola vez cada valor inmutable. Si dos o m´as variables contienen ese valor, sus
referencias apuntan a la misma zona de memoria. Considera este ejemplo:
>>> a = 1 + 1 _
>>> b = 2 * 1 _
>>> c = ’Python’ _
>>> d = c _
>>> e = ’Py’ + ’thon’ _
resultado:
a=1+1
>>2
b=2*1
>>2
c='python'
>>python
d=c
>>python
e='py'+'thon'
>>python

Que las cadenas Python sean inmutables tiene efectos sobre las operaciones que podemos
efectuar con ellas. La asignaci´on a un elemento de una cadena, por ejemplo est´a prohibida, as´ı
que Python la se˜nala con un ((error de tipo)) (TypeError):
>>> a = ’Hola’ _
>>> a[0] = ’h’ _

No hay comentarios:

Publicar un comentario