Puedes ejecutar cualquier ejemplo de esta guía directamente en nuestra consola interactiva: Abrir consola de Python →
Paquetes en Python: cómo organizar proyectos grandes
Los paquetes permiten organizar módulos dentro de carpetas, creando estructuras limpias y profesionales. En esta guía aprenderás a crear paquetes, usar __init__.py, importar submódulos y estructurar proyectos reales.
Tabla de contenidos
1. ¿Qué es un paquete?
Un paquete es una carpeta que contiene módulos y un archivo especial llamado __init__.py. Permite organizar proyectos grandes en partes más pequeñas.
mi_paquete/
__init__.py
operaciones.py
saludos.py
2. Estructura de un paquete
Ejemplo de paquete con dos módulos:
mi_paquete/
__init__.py
matematicas.py
texto.py
Contenido de matematicas.py:
def sumar(a, b):
return a + b
3. El archivo __init__.py
Este archivo indica que la carpeta es un paquete. También puedes usarlo para importar funciones automáticamente.
# __init__.py
from .matematicas import sumar
4. Importar paquetes y submódulos
import mi_paquete
print(mi_paquete.sumar(5, 3))
Importar submódulos
from mi_paquete import matematicas
print(matematicas.sumar(10, 4))
Importar todo el paquete
from mi_paquete import *
print(sumar(7, 2))
5. Ejercicios
- Crear un paquete con dos módulos.
- Usar __init__.py para importar funciones automáticamente.
- Importar un submódulo desde un paquete.
- Crear un paquete con una clase.
- Usar import * en un paquete.
mi_paquete/
__init__.py
modulo1.py
modulo2.py
# __init__.py
from .modulo1 import funcion1
from mi_paquete import modulo1
modulo1.funcion1()
# persona.py
class Persona:
def __init__(self, nombre):
self.nombre = nombre
from mi_paquete import *
6. Mini‑proyecto: Paquete de utilidades
utilidades/
__init__.py
numeros.py
cadenas.py
# numeros.py
def es_par(n):
return n % 2 == 0
# cadenas.py
def contar_letras(texto):
return len(texto)
# archivo principal
from utilidades import numeros, cadenas
print(numeros.es_par(10))
print(cadenas.contar_letras("Python"))
7. Preguntas frecuentes
¿Un paquete puede contener otros paquetes?
Sí, se llaman subpaquetes.
¿Es obligatorio usar __init__.py?
Sí, para que Python reconozca la carpeta como paquete.