MÓDULOS, PAQUETES Y LIBRERÍAS EN PYTHON: IMPORTAR, ACCEDER, CREAR
A la hora de programar a veces es necesario recurrir a módulos, librerías, paquetes, etc. Para
facilitarnos el desarrollo de un programa en caso de un módulo existente o librería. También para
organizar nuestro programa si es demasiado extenso y cuenta con muchas líneas de código, su
estructura puede ser separada en módulos.
Si no dispones de las librerías, es como si no tuvieses la capacidad de lograr lo que quieres. Por
ejemplo, suponiendo que tú quieras hacer una calculadora en python, y la misma ya está programada
lógicamente. Pero tú quieres brindarle al usuario un entorno gráfico. Sin librería, estarías perdido. Salvo
que tu programes desde 0 todo el entorno gráfico de tu programa, pero para eso existen las librerías y
módulos “prefabricados o incorporados” por decir así que facilitaran el trabajo.
Función: Una función es un bloque de código organizado y reutilizable que se utiliza para realizar una
tarea específica o acción relacionada. Python le ofrece muchas funciones integradas como print (), etc.,
pero también puede crear sus propias funciones. Estas funciones se denominan funciones definidas
por el usuario.
por ejemplo, crear una función para calcular la media de los números.
Módulo: es un archivo o extensión Python (.py) y que puede contener (variables, métodos, clases
incluso otros módulos, definidas en ese módulo). pueden ser accedidos desde otro archivo, Un módulo
también puede incluir código ejecutable. que puede ser importado o requerido con un require (o import)
y debe estar en tu carpeta.
Sirve para organizar y reutilizar el código (modularización y reutilización), se crear como un archivo
extensión .py luego guardarlo.
Por ejemplo:
el módulo math en python contiene solo un conjunto de funciones incorporado matemático tiene
funciones para calcular sin, sqrt, gcd ..., y usted simplemente llama a las necesarias (math.sin).
Numpy para crear matrices, matriz n-dimensional y funciones que se utilizarán en la matriz.
itertools consta de funciones para manejar iteradores y hacer iteradores complejos.
También podemos crear módulos personalizados, guardarlo en la ubicación adecuada e
importar custom_module.
Entonces decimos que cada uno de nuestros archivos .py se denominan módulos y estos módulos, a
la vez, pueden formar parte de paquetes.
Paquetes: es una carpeta o directorio que contiene varios módulos o donde están almacenan módulos
relacionados entre sí. Un paquete puede contener sub paquetes o módulos, y al mismo tiempo, de
forma similar a los módulos.
Sirve para organizar y reutilizar los módulos. Un paquete, es una carpeta que contiene archivos .py.Para
que una carpeta pueda ser considerada un paquete, debe contener un archivo de inicio __init__.py.
Entonces decimos que todos los módulos son paquetes, pero no al revés
Una librería nos proporciona una serie de funciones/métodos muy concretos para simplificar tareas
complejas y no necesitamos alterar nuestra estructura.
Un framework es más que una librería porque aporta una estructura completa en la que nosotros
“encajamos” nuestro código, impone las condiciones y debemos respetarlas.
42
Es decir, en una librería tu código es el que está al mando y utiliza las funciones de la librería cuando
y como quiere. En un framework, éste es el que está al mando y tu código debe encajarse en su
estructura y normas.
EJEMPLOS DE MÓDULOS:
Ejemplo 1 módulo un único archivo Importamos el modulo salida
llamado modulo1.py
Ejemplo 2 Creamos modulo llamado Importamos el modulo salida
nombre.py
Ejemplo 3 podemos escribir con funciones Aritméticas
Estas funciones realizan varias operaciones aritméticas como calcular el valor superior, inferior o
absoluto de un número usando las funciones floor(x), ceil(x), y fabs(x). La función ceil(x) devolverá el
entero más pequeño que sea mayor qué o igual a x. De manera similar, floor(x) devuelve el entero más
grande menor qué o igual a x. La función fabs(x) devuelve el valor absoluto de x.
Por tanto, hemos sido capaces de aplicar diferentes
operaciones en nuestro número sin necesidad de
escribir código para cada operación, sino más bien
mediante la reutilización de funciones ya disponibles en
el módulo math. Eso es de gran utilidad.
Podemos escribir de otra forma el modulo
43
De esta manera, puedes llamar a las funciones anteriores (ceil(x), floor(x), y fabs(x)) sin la necesidad
de precederlos con el nombre del módulo, math.
Ejemplo 4. un módulo aritmetica.py que contenga las siguientes funciones.
Podemos acceder a ellas desde otro archivo de Python llamado
matemática.py ubicado en la misma ruta importando el módulo.
Una sintaxis alternativa para importar objetos desde un módulo es la siguiente.
Nótese que, en este segundo caso, no se prefija el nombre del módulo al invocar al
objeto importado. Podemos importar varios objetos separándolos por comas.
O bien, para importar todos los objetos dentro de un módulo:
44
EJEMPLOS DE PAQUETES:
Importar paquetes propios en Python
Al realizar la importación de nuestros propios módulos podríamos utilizar todas paquete
las formas vistas anteriormente, pero siempre respetando la ruta donde se __init__.py
encuentre nuestro módulo. modulo1.py
Por ejemplo, podríamos tener esta disposición en un proyecto: sub paquete
__init__.py
Ejemplo 1 modulo2.py
main.py
paquete1
__init__.py
modulo1.py
modulo2.py
paq1.py
45
Ejemplo 2
Paquete2
__init__.py
aritmetica.py
geometria.py
paquete21.py
paquete22.py
paquete23.py
46
Tarea 07: desarrollar y presentarlo en Python, modulo operaciones.py y script
calculos.py)
Crea el siguiente módulo:
El módulo se denominará operaciones.py y contendrá las siguientes funciones
def sumar(x, y):
def restar(x, y):
def multiplicar(x, y):
def dividir(dividendo, divisor):
def potenciar(base, exponente):
# base**exponente
def redondear(numero):
# round(numero)
Crear un script llamado calculos.py, donde las funciones de sumar, restar y multiplicar se ingrese
los datos x, y por teclado y sean de tipo decimal
Para las funciones dividir, potenciar y redondear también se ingrese los datos por teclado y sean de
tipo decimal
El resultado final
47