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

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...

Variables y asignación en Python

1. ¿Qué es una Variable? Una variable es un contenedor para almacenar datos. En Python, una variable se puede entender como un nombre que hace referencia a un valor almacenado en la memoria. Las variables permiten que los programas recuerden y manipulen datos. Ejemplo Básico: # Creación de una variable y asignación de un valor x = 10 y = "Hola" z = 3.14 2. Asignación de Valores La asignación de valores en Python se realiza utilizando el operador  = . La variable aparece a la izquierda del operador de asignación y el valor asignado a la derecha. a = 5 # Asigna el valor 5 a la variable 'a' b = "Texto" # Asigna la cadena "Texto" a la variable 'b' c = 4.5 # Asigna el valor flotante 4.5 a la variable 'c' 3. Reglas para Nombres de Variables Debe comenzar con una letra (a-z, A-Z) o un guion bajo ( _ ), pero no con un número. Puede contener letras, números y guiones bajos. Python distingue entre mayúsculas y minúsculas, ...

Funciones en Python

1. Definición de Funciones Una función es un bloque de código organizado y reutilizable que se utiliza para realizar una única acción relacionada. Las funciones permiten dividir un programa en partes más pequeñas y manejables. En Python, se definen utilizando la palabra clave  def . Sintaxis: def nombre_funcion ( parametros ): """Docstring opcional: describe la función""" # cuerpo de la función return valor_de_retorno Ejemplo Básico: def saludar (): """Imprime un saludo en pantalla.""" print ( "Hola, mundo!" ) 2. Llamadas a Funciones Para ejecutar el código dentro de una función, debes "llamar" a la función utilizando su nombre seguido de paréntesis. Ejemplo de Llamada: saludar() # Llama a la función 'saludar' y ejecuta su código 3. Parámetros y Argumentos Las funciones pueden aceptar valores de entrada llamados parámetros (dentro de la definición de la función) y argumen...