El día 30 de abril de 2010 11:01, Hernan M Foffani <hfoff...@gmail.com> escribió: > 2010/4/30 monoBOT <monobot.s...@gmail.com> >> >> 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 ....... >> >> EN DEFINITIVA … alguien me puede aconsejar algún metodo de asignación masiva >> de variables?? … gracias > > Podrías usar instropección (getattr() y setattr()). > Con un diccionario mapeas los nombres rhs->lhs y con un simple bucle > recorres los nombres de las variables y las vas asignando. Si los > nombres son "atributo" + "_fichero" puedes obviar el diccionario. > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ >
Y así como complemento: http://en.wikipedia.org/wiki/Lazy_evaluation Con __getattr__ se realizaría la evaluación de forma perezosa: Solo se parsearía o recorreria el dom xml cuando para obtener un atributo cuando este fuese a usarse. Pero tal como está planteado el __getattr__, siempre que preguntases por un mismo atributo se paresearia o recorreria el dom xml. Para evitar esto se puede meter el valor del atributo calculado en el __dict__ del objeto (__getattr__ solo es llamado con los atributos que le son desconocidos). El problema de esta forma de trabajo es el siguiente: * Si te guardas el dom parseado del xml estas consumiendo memoria hasta que se destruya el objeto. * Si parseas cada vez el xml estas cargando de trabajo al programa. * Se puede hacer un hibrido de las 2 anteriores usando weakref. Pero eso complica ligeramente el código. Las ventajas: * Se tarda cero coma en implementarse * Las desventajas son pequeñas y sirve para el 99% de los casos. Un saludo: Javi _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/