Hola Arnau, 2010/11/3 Arnau Sanchez: > Como norma general: variables locales = buenas, globales = malas. Sólo se usan > variables globales en casos muy particulares, pero aquí sería sencillamente:
Quizá un poco de contexto a mi problema ayudará, porqué no estoy seguro que mi problema sea un caso dónde se aplique la norma general. Estoy haciendo pruebas de escalabilidad de un càlculo científico (implementado en python) en un cluster utilizando la libreria parallelpython [1]. Las pruebas tienen como objetivo determinar el número de procesadores óptimo para el cálculo. Una vez determinado, este número òptimo quedará "hardcodeado" en el código del cálculo y ya no será necessario pasarle a la instáncia de la clase Server de parallelpython el número de cpus a utilizar via línea de comandos. En el desarrollo del cálculo hay múltiples funciones que utilizan la instancia de la classe Server de parallelpython. Siguiendo tu consejo, tendría que modificar todas éstas funciones añadiendo un argumento que sería la instáncia de la clase pp.Server inicializada con el número de cpus indicado en la línea de comandos. Dado que sólo tengo que ejecutar los tests de escalabilidad una vez, me gustaría ahorrarme modificar el código del cálculo, por eso pensaba que sería una buena idea que la instáncia de pp.Server fuera accesible desde el namespace global a todas las funciones que utilizan paralelización. Cuando no tengo que pasar el número de cpus a la instáncia de la clase Server via línea de comandos, consigo que esté en el namespace global del programa simplemente instanciando la clase fuera de la función main al principio del script. Gracias i Salut! [1] http://www.parallelpython.com/ _______________________________________________ Python-es mailing list [email protected] http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
