Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2013, 10:08
chustuoso2013
 
Fecha de Ingreso: marzo-2013
Mensajes: 10
Antigüedad: 11 años, 8 meses
Puntos: 0
Set/Get con properties no funciona, aparecen duplicados o algo raro los campos

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?