Cargando



Python - Módulos

En este tutorial estaremos viendo que es un módulo de Python, como implementarlos y algunas características adicionales relacionadas con ello.


nov 04 2013 20:03
Avanzado
nov 05 2013 13:29
Cuando nuestros conocimientos de Python superan lo básico y estamos haciendo programas cada vez de mayor complejidad, se crea la necesidad de incluir nuestros códigos hechos con anterioridad de forma que no tengamos que reinventar la rueda una y otra vez. Adicionalmente tampoco tener la necesidad de estar copiando código en nuevos archivos evitándonos esta mala práctica.

Para ello tenemos los módulos, que no son más que un programa el cual incluimos y tenemos a disposición todo su contenido.

Módulos

Como veníamos explicando un módulo no es más que la inclusión de un programa dentro de nuestro código con lo cual accedemos a todo su contenido, un ejemplo palpable de un módulo es el math con el cual ya hemos trabajado incluyéndolo de la siguiente forma cómo podemos ver en la siguiente imagen:

Python_modulos1.jpg


Con esto queda más que claro que es un módulo en Python, ahora que pasa si queremos hacer uno propio, queremos extender la funcionalidad de nuestros programas con módulos propios, pues también es posible, ya que como hemos venido reiterando los módulos son programas.

Para el siguiente ejemplo debemos tener nuestro editor de texto preferido para codificar en Python y haremos nuestro programa de Hello World !, veamos la siguiente imagen:



Python_modulos2.jpg


Como crear un módulo

Hasta ahora nada complejo ni nada desconocido, para poder importar los módulos debemos guardarlo en la ruta adecuada para ello podemos ejecutar la siguientes instrucciones y sabremos donde guardar nuestro programa:

>>> import sys
>>> sys.path.append('c:/python')

Con esto ya le decimos a Python que debe buscar el la ruta c:/python

Una vez guardado ahí nuestro modulo podemos pasar a hacer el llamado del mismo.

Ahora hacemos la importación y veamos que obtenemos:

>>> import hello
Hello, world!

Con esto obtuvimos nuestra impresión en pantalla como habíamos indicado en el archivo hello.py, pero que pasa si queremos hacer un nuevo import:

>>> import hello
>>>

Ahora no hace nada, no imprime ni lanza error, esto es porque al hacer la importación una vez que ya Python tiene el modulo en memoria y no lo vuelve a incluir, en este caso, él porque solo se importa una vez se debe a una optimización implementada en Python, se debe a que si hacemos la inclusión de un módulo y este hace una inclusión de otro módulo que ya habíamos incluido anteriormente, por lo cual no vamos a cargar en memoria lo mismo dos veces.

Por eso es este comportamiento, es como un equivalente al include_once de PHP, claro con sus diferencias cada uno y también porque un módulo no debe estar hecho para que ejecute acciones, sino para dejar herramientas que puedan ser útiles en nuestros programas.

Rescribamos nuestro módulo hello.py, esta vez haremos lo siguiente.

# hello2.py
def hello():
print "Hello, world!"


Vemos que el mensaje ya no lo imprimimos directamente si no que lo colocamos dentro de un método llamado hello; ahora sí, hagamos la importación del módulo en nuestro programa con el siguiente código:

>>> import hello2

Una vez cargado el módulo podemos acceder al método que definimos anteriormente y veremos el resultado:



Python_modulos3.jpg


En la imagen vemos el resultado final en él cual pudimos llamar a nuestro método definido dentro del módulo sin ningún inconveniente.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X