Referencias a propiedades de clases
Jose Caballero
jcaballero.hep en gmail.com
Vie Jul 11 15:44:46 CEST 2008
Hola,
No todo son objetos que se pasan por referencia.
Tal y como lo haces no va a funcionar. Cuando creas la lista para pasarla
como argumento a f(), a.nombre es una copia, y por tanto el objeto a no va a
ver los cambios tras llamar a f().
Jose
El día 11 de julio de 2008 8:57, Beni <camontuyu en yahoo.es> escribió:
> Hola, tengo está cosa rara en mi código ...
>
> class A(object):
> def __init__(self):
> self.nombre = "hola"
>
> def __str__(self):
> return self.nombre
>
> def f(lista):
> for e in lista:
> e[0] += " mundo"
>
> a = A()
>
> print a
>
> f([[a.nombre, None, None],])
>
> print a
>
> Me imprime:
>
> hola
> hola
>
> Cuando yo esperaba:
>
> hola
> hola mundo
>
> ¿Es que al hacer [a.propiedad, ] se hace una copia de la propiedad en la
> lista? ¿No todo es un objeto y se pasan por referencia?
>
> Un saludo.
>
> --
> Benito Rodríguez Arcos
>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>
_______________________________________________
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