Referencias a propiedades de clases

Beni camontuyu en yahoo.es
Vie Jul 11 18:12:51 CEST 2008


On Fri, Jul 11, 2008 at 5:15 PM, Alexis Roda <
alexis.roda.villalonga en gmail.com> wrote:


> Lo que ocurre es que al hacer s += " mundo" se genera una nueva cadena, no
> se modifica la cadena s (las cadenas son inmutables) in situ, que es lo que
> haría falta para que el cambio se viese reflejado en el atributo 'nombre'
> del objeto (que sigue manteniendo una referencia a la cadena original):
>
> >>> s="hola"
> >>> id(s)
> -1210547648
> >>> s += " mundo"
> >>> s
> 'hola mundo'
> >>> id(s)
> -1210551208
> >>>
>
> La lista es mutable, por lo que en este caso el cambio sí es visible en el
> atributo 'arr'.
>
> >>> l=[]
> >>> id(l)
> -1210547668
> >>> l.append(1)
> >>> id(l)
> -1210547668
> >>>
>
> Saludos
>

Ok, perfectamente comprendido. Los literales cadena son inmutables. Pero la
verdad es un poco confuso que sea un objeto de este tipo.

Muchas gracias. Muy util la función id.

Saludos.

-- 
Benito Rodríguez Arcos
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es