Ir al contenido principal

Módulos y paquetes en Python

1. ¿Qué es un Módulo?

Un módulo en Python es un archivo que contiene definiciones y declaraciones de Python, como funciones, clases y variables, que puedes reutilizar en diferentes partes de tu programa. Los módulos permiten organizar el código en secciones lógicas y mantenerlo limpio y manejable.

Creación de un Módulo

Para crear un módulo, simplemente guarda tu código en un archivo con extensión .py.

Ejemplo:

# archivo: mi_modulo.py

def saludar(nombre):
    print(f"Hola, {nombre}!")

pi = 3.14159

Importación de un Módulo

Para usar las funciones y variables definidas en un módulo, debes importarlo en tu script principal.

# archivo: main.py

import mi_modulo

mi_modulo.saludar("Ana")
print(mi_modulo.pi)

2. Tipos de Importación

Importar Módulo Completo

import mi_modulo
mi_modulo.saludar("Ana")

Importar Funciones o Variables Específicas

from mi_modulo import saludar, pi
saludar("Ana")
print(pi)

Importar con un Alias

import mi_modulo as mod
mod.saludar("Ana")
print(mod.pi)

3. Uso del Módulo math

Python incluye una biblioteca estándar con módulos predefinidos como math, que proporciona funciones matemáticas.

import math

print(math.sqrt(16))  # 4.0
print(math.pi)        # 3.141592653589793

4. ¿Qué es un Paquete?

Un paquete es una forma de organizar módulos relacionados en un directorio jerárquico. Un paquete es simplemente un directorio que contiene un archivo especial __init__.py (que puede estar vacío) y uno o más módulos.

Creación de un Paquete

Estructura de directorios:

mi_paquete/
    __init__.py
    modulo1.py
    modulo2.py

Contenido de __init__.py:

# Este archivo puede estar vacío o inicializar el paquete

Contenido de modulo1.py:

def funcion_modulo1():
    print("Función en módulo 1")

Contenido de modulo2.py:

def funcion_modulo2():
    print("Función en módulo 2")

Importación de Módulos desde un Paquete

from mi_paquete import modulo1, modulo2

modulo1.funcion_modulo1()
modulo2.funcion_modulo2()

5. Importación Relativa

Dentro de los módulos de un paquete, puedes usar la importación relativa para importar otros módulos del mismo paquete.

Ejemplo de Importación Relativa

# archivo: mi_paquete/modulo1.py

from . import modulo2

def funcion_modulo1():
    print("Función en módulo 1")
    modulo2.funcion_modulo2()

6. Uso de __all__ en __init__.py

El atributo __all__ define qué módulos o nombres se exportarán cuando se use from paquete import *.

Ejemplo:

# archivo: mi_paquete/__init__.py

__all__ = ["modulo1", "modulo2"]

7. Ejemplos Prácticos

Uso de Módulos y Paquetes en un Proyecto

Supongamos que tienes un proyecto con la siguiente estructura:

proyecto/
    main.py
    operaciones/
        __init__.py
        suma.py
        resta.py

Contenido de suma.py:

def sumar(a, b):
    return a + b

Contenido de resta.py:

def restar(a, b):
    return a - b

Contenido de __init__.py:

# Este archivo puede estar vacío o inicializar el paquete

Contenido de main.py:

from operaciones import suma, resta

print(suma.sumar(5, 3))  # 8
print(resta.restar(5, 3))  # 2


Comentarios

Entradas populares de este blog

Historia y características de Python

Historia de Python Python es un lenguaje de programación de alto nivel que fue creado en 1989 por Guido van Rossum, un programador holandés, durante su tiempo en el Centro de Matemáticas y Ciencias de la Computación (CWI) en los Países Bajos. Van Rossum comenzó a desarrollar Python como un sucesor del lenguaje de programación ABC, buscando solucionar algunas de sus limitaciones y agregar características modernas. Origen del nombre: El nombre "Python" no proviene del animal, sino del programa de televisión británico "Monty Python’s Flying Circus", del cual Van Rossum era fanático. Esto refleja el enfoque de Python hacia la diversión y la facilidad de uso. Primera versión: La primera versión oficial, Python 1.0, fue lanzada en 1991. Desde sus inicios, incluyó características innovadoras como: Manejo de excepciones. Tipos de datos dinámicos. Funciones y módulos. Evolución del lenguaje: Python 2.x: Introducida en el año 2000, esta versión fue un gran avance, pero inc

Instalación y configuración de Python

1. Descarga e Instalación de Python Paso 1: Descargar Python Visita la página oficial de Python : Ve a  python.org/downloads . Selecciona la versión adecuada : La página detectará automáticamente tu sistema operativo y te ofrecerá la versión más reciente de Python. Para la mayoría de los usuarios, se recomienda descargar Python 3.x, ya que Python 2.x ya no recibe soporte. Paso 2: Ejecutar el Instalador Ejecuta el archivo descargado : Dependiendo de tu navegador, es posible que debas abrir el archivo descargado manualmente. Marca la opción "Add Python to PATH" : Esta opción es crucial, ya que permite ejecutar Python desde cualquier lugar en la línea de comandos. Selecciona "Install Now" : Esto instalará Python con las configuraciones recomendadas. Paso 3: Verificar la Instalación Abrir la terminal o línea de comandos : En Windows, puedes buscar "cmd" en el menú de inicio. En macOS, abre la aplicación Terminal desde las utilidades. En Linux, utiliza tu termi

Operadores y expresiones en Python

1. Operadores Aritméticos Los operadores aritméticos se utilizan para realizar operaciones matemáticas básicas. Suma ( + ) : Suma dos operandos. a = 10 b = 5 suma = a + b # 15 Resta ( - ) : Resta el segundo operando del primero. resta = a - b # 5 Multiplicación ( * ) : Multiplica dos operandos. multiplicacion = a * b # 50 División ( / ) : Divide el primer operando por el segundo. El resultado es un número flotante. division = a / b # 2.0 División Entera ( // ) : Divide el primer operando por el segundo y devuelve la parte entera del resultado. division_entera = a // b # 2 Módulo ( % ) : Devuelve el resto de la división del primer operando por el segundo. modulo = a % b # 0 Exponenciación ( ** ) : Eleva el primer operando a la potencia del segundo. potencia = a ** b # 100000 2. Operadores de Asignación Los operadores de asignación se utilizan para asignar valores a las variables. Asignación Simple ( = ) : Asigna el valor del operando de la derecha a la variable de la izq