Importar Módulos
Saber cómo importar código es tan importante como saber escribirlo. Un import mal hecho puede romper tu proyecto; un import bien hecho lo mantiene limpio y legible.
1. Las 3 Formas de Importar
Python te da tres maneras distintas de traer código externo a tu fichero. Cada una tiene su momento ideal:
# FORMA 1: Importar el módulo completo
# Accedes con el prefijo del módulo. Más explícito.
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.14159...
# FORMA 2: Importar solo lo que necesitas
# Más conciso, directo al grano.
from math import sqrt, pi
print(sqrt(16)) # 4.0 (sin prefijo)
print(pi) # 3.14159...
# FORMA 3: Alias (renombrar al importar)
# Esencial para librerías con nombres largos como numpy o pandas.
import numpy as np
import pandas as pd
array = np.array([1, 2, 3])
df = pd.DataFrame({"col": [10, 20, 30]})
from math import * importa TODO el módulo al espacio de nombres global. Contamina el namespace y puede causar colisiones de nombres con tu propio código. Nunca lo uses en proyectos reales.2. Importar desde tus Propios Ficheros
Cuando un proyecto crece, divides tu código en varios ficheros (módulos propios). Python te permite importarlos igual que cualquier librería.
Estructura del proyecto
mi_proyecto/
├── main.py
├── utils.py
└── agents/
├── __init__.py
└── base_agent.py
utils.py
def formatear_respuesta(texto):
return texto.strip().capitalize()
main.py
from utils import formatear_respuesta
from agents.base_agent import AgenteIA
respuesta = formatear_respuesta(" hola mundo ")
print(respuesta) # "Hola mundo"
3. El fichero __init__.py
El fichero __init__.py (que puede estar vacío) le dice a Python que una carpeta es un paquete importable. Sin él, no puedes hacer from agents.base_agent import ....
# agents/__init__.py (puede estar vacío o exponer una interfaz limpia)
from .base_agent import AgenteIA
# Con esto, en main.py puedes escribir simplemente:
from agents import AgenteIA # En lugar de from agents.base_agent import AgenteIA
4. Variables de Entorno con python-dotenv
Las claves de API (OPENAI_API_KEY, tokens, contraseñas) nunca deben estar escritas directamente en el código. El patrón estándar es guardarlas en un fichero .env e importarlas de forma segura.
Fichero .env
OPENAI_API_KEY=sk-proj-abc123...
SUPABASE_URL=https://xyz.supabase.co
DEBUG=true
Cargar en Python
import os
from dotenv import load_dotenv
load_dotenv() # Carga el fichero .env
api_key = os.getenv("OPENAI_API_KEY")
debug = os.getenv("DEBUG") == "true"
.env a tu .gitignore para que nunca se suba a GitHub con tus claves reales.¿Listo para convertirte en un Maestro?
Potencia tu carrera con el Máster Completo: Python de la A a la Z. Domina Ciencia de Datos, ML y Deep Learning.