Inturiasgary’s Blog

mayo 12, 2010

Módulos en Python

Filed under: Python — inturiasgary @ 6:42 pm

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

About these ads

Dejar un comentario »

Aún no hay comentarios.

RSS feed para los comentarios de esta entrada. TrackBack URI

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

El tema Rubric. Blog de WordPress.com.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: