Si sale del intérprete de Python y entra de nuevo, las definiciones que ha hecho (funciones y variables) se pierden. Por lo tanto, si desea escribir un programa algo más largo, es mejor usar un editor de texto para preparar la entrada para el intérprete y ejecutarlo con ese archivo como entrada en su lugar. Esto se conoce como la creación de un script. A medida que su programa se hace más largo, puede dividirlo en varios archivos para facilitar su mantenimiento. También puede utilizar una función que ha escrito en varios programas sin copiar su definición en cada programa.
Para apoyar esto, Python tiene una forma de poner definiciones en un archivo y utilizarlos en una secuencia de comandos o en una instancia interactiva del intérprete. Este archivo se denomina un módulo, las definiciones de un módulo se pueden importar a otros módulos o dentro del módulo principal (la colección de variables que se tiene acceso a un programa ejecutado en el nivel superior y en el modo de calculadora).
Un módulo es un archivo que contiene definiciones y declaraciones de Python. El nombre del archivo es el nombre del módulo con el sufijo. py anexado. Dentro de un módulo, el nombre del módulo (como cadena) está disponible como el valor de la variable global __name__. Por ejemplo, utilice su editor de texto favorito para crear un archivo llamado fibo.py en el directorio actual con el siguiente contenido:
# Fibonacci numbers module
def fib(n): # write Fibonacci series up to n
a, b = 0, 1
while b < n:
print b,
a, b = b, a+b
def fib2(n): # return Fibonacci series up to n
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
Ahora ingrese al interprete Python e importe el módulo con el siguiente comando:
>>> import fibo
Ahora usando en nombre del módulo podemos acceder a sus funciones como por ejemplo:
>>> fibo.fib(1000) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 >>> fibo.fib2(100) [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] >>> fibo.__name__ 'fibo'
si se va a hacer uso de una función con frecuencia, se puede asignar a un nombre local:
>>> fib = fibo.fib >>> fib(500) 1 1 2 3 5 8 13 21 34 55 89 144 233 377
