[Python-es] Atributo compartido por objetos de una misma clase

Ricardo Catalinas Jiménez jimenezrick en gmail.com
Mie Jul 9 19:58:54 CEST 2008


Tengo unas nociones basicas acerca de como se gestionan los nombres y
referencias de los objetos en python, pero el siguiente codigo se
comporta de un modo que no entiendo:

------------------------------------------------------------------------
class A:
    def __init__(self, foo = []):
        self.bar = foo

a = A()
a.bar.append(6)
b = A()
-----------------------------------------------------------------------

Ahora resulta que tanto `a.bar' como `b.bar' tienen el mismo valor: `[6]'.
¿No tendria que ser `b.bar == []' ?

Un saludo y gracias.
-- 
Ricardo


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