Tengo la siguiente clase y defino sus properties para poder modificar sus atributos de manera segura, pero el código se vuelve loco
Código:
class Objeto1:
def __init__(self, dominios):
self._dominios = dominios
def __str__(self):
return "DOMINIOS=>%s" % (self._dominios)
def __get_dominios(self):
return self._dominios
def __set_dominios(self, valor):
self._dominios = valor
dominios = property(fget=__get_dominios, fset=__set_dominios, doc='value of parameter')
En teoria esta clase esta bien definida, pues si hago lo siguiente hay sorpresa....
Cita: a = Objeto1("192.13.12.11")
a.dominios="Soy un dominio nuevo"
print a._dominios
print a.dominios
Muestra por consola valores distintos!
Código:
192.13.12.11
Soy un dominio nuevo
y si por ejemplo meto el objeto en una lista, el objeto se copia con el valor inicial de dominios, no con el nuevo cambiado.
Por favor alguien entiende cual es el problema?