web stats
Back
Featured image of post Python 12 – Módulos

Python 12 – Módulos

Se puede entender como que son programas que forman parte de otro programa mayor.

A grandes rasgos, se puede entender como que son programas que forman parte de otro programa mayor. Se utilizan para poder reutilizar partes de código que ya están desarrolladas y funcionando.

Podemos diferenciar 3 grandes tipos:

  • módulos de python preconstruidos

proporcionados por el propio lenguaje Python y accesibles directamente

  • módulos de terceros

desarrollados por la comunidad. pueden ser descargados desde internet o fuentes de terceros directamente

  • módulos propios

estos son los que desarrollamos por nosotros mismos

módulos python

Se puede ver una lista de los módulos disponibles en:

https://docs.python.org/3/py-modindex.html

para importar un módulos utilizamos la palabra clave import, y después el nombre del modulo.

import tokenize

Es importante conocer la documentación del módulo antes de poder utilizarlo, para saber su funcionamiento y forma de usarlo.

Vamos a utilizar el módulo datetime como ejemplo: https://docs.python.org/3.7/library/datetime.html

lo importamos, y utilizamos la función date.today del propio módulo, lo cual nos devuelve la fecha actual:

import datetime
print(datetime.date.today())
PS C:> python.exe .\modulos.py
2019-05-23

Otro ejemplo utilizando timedelta(), al cual le pasamos 3700 segundos, y nos lo transforma en tiempo «humano» 1h 1min 40 seg.

import datetime
print(datetime.timedelta(seconds=3700))
PS C:> python.exe .\modulos.py
1:01:40

Podemos especificar qué modulo concreto queremos importar con from x import x, en lugar de importar todo el módulo. Hay que prestar atención a la forma de llamarlo si utilizamos este método.

from datetime import timedelta
print(timedelta(seconds=3700))

modulos propios

vamos a crear un módulo propio que se va a llamar mod_operaciones.py, en el que vamos a definir una serie de funciones que nos permita efectuar operaciones con números:

Para ello, creamos un nuevo fichero llamado mod_operaciones.py dentro de la ruta de nuestro programa, y con el siguiente contenido

def suma (n1, n2):
     print (n1 + n2)

def resta (n1, n2):
     print (n1 - n2)

en el fichero anterior, modulos.py, vamos a importar este módulo y llamar a la función de suma. Le pasamos como valores 3 y 5:

import mod_operaciones
mod_operaciones.suma(3,5)
PS C:> python.exe .\modulos.py
8

modulos de terceros

Se pueden ver módulos de terceros que podemos reutilizar, en el siguiente enlace:

https://pypi.org/

Estos módulos pueden descargarse e instalarse directamente con la utilidad PIP

Por ejemplo, vamos a instalar el módulo bloodyterminal: https://pypi.org/project/bloodyterminal/

es tan simple como lanzar el siguiente comando en la terminal: pip install bloodyterminal

PS C:> pip install bloodyterminal
 Collecting bloodyterminal
   Downloading https://files.pythonhosted.org/packages/14/d1/9cbc37ba8e6edbe1e9004f94a7301b4a70694d2b90e045be2cd836fd4362/bloodyterminal-4.0.tar.gz
 Requirement already satisfied: colorama in c:\users\50034411\appdata\roaming\python\python37\site-packages (from bloodyterminal) (0.4.1)
 Installing collected packages: bloodyterminal
   Running setup.py install for bloodyterminal … done
 Successfully installed bloodyterminal-4.0

Con esto, el módulo ya queda disponible para que podamos utilizarlo

from bloodyterminal import btext
btext.success("Esto es un texto formateado como success")
PS C:> python.exe .\modulos.py
[SUCCESS] Esto es un texto formateado como success
comments powered by Disqus
Creado con Hugo