Puedes sobreescribir el método __getattribute__ de tu clase:

def__getattribute__(self, name):
    return xml_none(busqueda_xml ('usuario',name))

Estarías usando los mismos nombres para las variables que para las
columnas de la tabla. Tal y como te lo cuento, harías demasiadas
consultas a la base de datos, pero puedes guardar todas las columnas en
un diccionario (digamos self.variables), y luego lo consultas:

def__getattribute__(self, name):
    return self.variables[name]

También puedes usar eval, pero en principio no se recomienda.
Un saludo
monoBOT escribió:
>
> Seguro que existen métidos para la multiasignación de variables, pero
> yo no lo conozco, bueno en realidad conozco uno:
>
> variable1, variable2,variable3, variable4, variable5, variable6 = 1,2,3,4,5,6
>
> print variable1
>
> 1
>
> pero éste método es un poco lento para lo que yo necesito… yo tengo en
> mi programa varios sitios donde hago asignación masiva de variables
> del tipo
> variable busca el valor aki1 y aki2
> … de tal forma que es una lista enorme tal como esta:
>
>         self.nombre_fichero = xml_none(busqueda_xml ('usuario', 'nombre'))
>         self.primerapellido_fichero = xml_none(busqueda_xml ('usuario', 
> 'primerapellido'))
>         self.segundoapellido_fichero = xml_none(busqueda_xml ('usuario', 
> 'segundoapellido'))
>         self.dni_fichero = xml_none(busqueda_xml ('usuario', 'dni'))
>         self.direccion_fichero = xml_none(busqueda_xml ('usuario', 
> 'direccion'))
>         self.codigopostal_fichero = xml_none(busqueda_xml ('usuario', 
> 'codigopostal'))
>         self.poblacion_fichero = xml_none(busqueda_xml ('usuario', 
> 'poblacion'))
>         self.provincia_fichero = busqueda_xml ('usuario', 'provincia')
> y así hasta 50 variables seguidas
>
> lo cual hace bastante feo el código… se me ocurría hacer algo así:
>
> lista = (A1, 'A2', 'A3', B1, 'B2', 'B3', ...)
> for m in range (0,len(lista),3):
> lista[m] = busqueda (lista[m+1], lista[m+2])
>
> pero lo que hace es sustituir el valor de las casillas m por el valor
> asignado. luego se me ocurrió hacerlo mediante una tupla ya que como
> el valor es inmutable se podría asignar el valor a la variable.
> ya que de hecho el ejemplo del principio lo que se hace es darle a la
> tupla el valor directamente.
>
> tupla = (A1, B1, C1, ...)
> lista = (A2, A3, B2, B3, C2, C3, ...)
> for m in range (0, len(lista), 2):
>     tupla[m] = busqueda(lista[m], lista[m+1])
>
> éste método tampoco funciona puesto que dice qeu el valor de la tupla
> es inmutable… me quedé sin ideas.
>
>
> EN DEFINITIVA … alguien me puede aconsejar algún metodo de asignación
> masiva de variables?? … gracias
>
>
> -- 
> monobotblog.alvarezalonso.es <http://monobotblog.alvarezalonso.es>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>   
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a