Lo que vengo a preguntar es lo siguiente:
Si yo tuviera un modulo, llamemosle modulo.py, con el siguiente contenido:
Código Python:
Ver original
def sumar(n1, n2): n3 = n1 + n2 return n3
Si yo desde otro archivo necesito llamar a sumar, hago lo siguiente:
Código Python:
Ver original
import modulo modulo.sumar(1,2)
Hasta aca todo fenomeno. Pero segun lei en la documentacion, si uno asignara a sumar como variable de este mismo archivo, lo encontraria mas rapido, porque lo que primero busca son espacios de nombres locales. Entonces:
Código Python:
Ver original
from modulo import sumar sumar(1,2)
Si yo no hiciera esto, segun entiendo, el programa tardaria mas en encontrar esta funcion ya que primero buscaria en otros lados.
Dejo lo que lei. Espero no haber malinterpretado:
"Aunque los alcances se determinan estáticamente, se usan dinámicamente. En cualquier momento durante la ejecución hay por lo menos cuatro alcances anidados cuyos espacios de nombres son directamente accesibles:
el ámbito interno, donde se busca primero, contiene los nombres locales
los espacios de nombres de las funciones anexas, en las cuales se busca empezando por el alcance adjunto más cercano, contiene los nombres no locales pero también los no globales
el ámbito anteúltimo contiene los nombres globales del módulo actual
el alcance exterior (donde se busca al final) es el espacio de nombres que contiene los nombres incluidos
Si un nombre se declara como global, entonces todas las referencias y asignaciones al mismo van directo al alcance intermedio que contiene los nombres globales del módulo. De otra manera, todas las variables que se encuentren fuera del alcance interno son de sólo lectura (un intento de escribir a esas variables simplemente crea una nueva variable en el alcance interno, dejando intacta la variable externa del mismo nombre)."
Fuente: [URL="http://docs.python.org.ar/tutorial/2/classes.html"]Clases - Python[/URL]
Gracias de antemano.