Creación y Uso de Módulos en Python

Clase 27 de 44Curso de Python: Comprehensions, Funciones y Manejo de Errores

Resumen

¿Qué son los módulos en Python y cómo se crean?

Al comenzar a trabajar en proyectos de programación en Python, modularizar el código es una práctica esencial que mejora la organización y el mantenimiento del mismo. Los módulos son la solución perfecta para lograr esto. En Python, un módulo es simplemente un archivo con la extensión .py que puede contener funciones, clases o variables. En esta sección, exploraremos cómo crear tus propios módulos personalizados y cómo integrarlos en tu proyecto.

¿Cómo crear un módulo y utilizarlo?

Para crear un módulo en Python, simplemente necesitas crear un archivo con extensión .py y definir tus funciones, clases o variables dentro de él. Veamos un ejemplo específico:

  1. Crear el archivo del módulo:
    • Primero, crea una carpeta para organizar tu proyecto, por ejemplo, llamada app.
    • Dentro de esta carpeta, crea un archivo, como mod.py, en el cual definirás tus funciones.
# Archivo: mod.py
def getPopulation():
    keys = ['Colombia', 'Bolivia']
    values = [300, 400]
    return keys, values
  1. Definir funciones y variables en el módulo:

    • La función getPopulation devuelve dos listas, keys y values, que representan países y sus poblaciones.
  2. Utilizar el módulo desde otro archivo:

    • Crea un archivo main.py dentro de la misma carpeta app.
    • Utiliza la palabra clave import para importar el módulo mod.py.
# Archivo: main.py
import mod

keys, values = mod.getPopulation()
print(keys, values)
  1. Ejecutar y probar:
    • Desde la terminal, navega hasta la carpeta app y ejecuta el archivo main.py para ver los resultados.
python main.py
# Output: ['Colombia', 'Bolivia'] [300, 400]

¿Cómo utilizar nombres significativos en los módulos?

Es una buena práctica nombrar tus módulos de manera que reflejen su contenido o funcionalidad. Por ejemplo, si tu módulo contiene utilidades generales, puedes llamarlo utils.py. Cambiar el nombre de los archivos de módulo requiere actualizar las importaciones correspondientes en otros archivos.

# Al cambiar el nombre del archivo a utils.py
import utils

keys, values = utils.getPopulation()
print(keys, values)

¿Cómo integrar funciones más complejas?

Los módulos no están limitados a funciones sencillas. Puedes incluir funcionalidades más complicadas como el filtrado de datos. Aquí se muestra cómo agregar una nueva función para obtener la población de un país específico:

# Dentro de utils.py
def population_by_country(data, country):
    result = list(filter(lambda x: x['country'] == country, data))
    return result
# Integración en main.py
data = [
    {'country': 'Colombia', 'population': 500},
    {'country': 'Bolivia', 'population': 300},
]

country = input('Type country: ')
result = utils.population_by_country(data, country)
print(result)

Con la función population_by_country, puedes filtrar y obtener datos específicos de la lista data, según el país introducido por el usuario.

Esta manera de gestionar y utilizar módulos te permite escribir código más limpio y mantener una estructura organizada en tus proyectos de Python. La modularización no es solo una técnica, sino una habilidad esencial para cualquier desarrollador que busca escribir un código eficiente y bien mantenido. ¡Sigue explorando las capacidades de Python y aplicando estas prácticas para convertirte en un programador aún más experto!