Volver a Python BásicoLa Guarda
Módulos y Paquetes
Un módulo es cualquier archivo .py. Un paquete es un directorio con un archivo __init__.py.
Importar Módulos
import math
import os
import sys
print(math.pi) # 3.141592653589793
print(math.sqrt(16)) # 4.0
print(os.getcwd()) # Directorio actual
Estilos de Importación
# Importar nombres específicos
from math import pi, sqrt, floor
# Importar con alias
import numpy as np
from datetime import datetime as dt
# Importar todo (evitar en producción)
from math import *
Crear Tu Propio Módulo
# Archivo: utilidades.py
def sumar(a, b):
return a + b
def multiplicar(a, b):
return a * b
SALUDO = "¡Hola desde utilidades!"
# Archivo: main.py
from utilidades import sumar, SALUDO
print(sumar(3, 4)) # 7
print(SALUDO) # ¡Hola desde utilidades!
La Guarda __name__
# utilidades.py
def ejecutar():
print("Ejecutando...")
# Solo se ejecuta cuando se corre directamente, no cuando se importa
if __name__ == "__main__":
ejecutar()
Librería Estándar Destacada
import random
import json
import re
from pathlib import Path
from datetime import datetime, timedelta
# Aleatorio
print(random.randint(1, 100))
print(random.choice(["a", "b", "c"]))
# JSON
datos = {"nombre": "Alice", "puntuaciones": [95, 87, 92]}
json_str = json.dumps(datos, indent=2)
parseado = json.loads(json_str)
# Regex
patron = r"\d{4}-\d{2}-\d{2}"
coincidencia = re.search(patron, "Fecha: 2025-03-18")
print(coincidencia.group()) # 2025-03-18
# Pathlib
ruta = Path("datos") / "salida.txt"
ruta.parent.mkdir(parents=True, exist_ok=True)
# Datetime
ahora = datetime.now()
manana = ahora + timedelta(days=1)
print(ahora.strftime("%Y-%m-%d %H:%M"))
Entornos Virtuales
# Crear un entorno virtual
python -m venv venv
# Activar (Windows)
venv\Scripts\activate
# Activar (Mac/Linux)
source venv/bin/activate
# Instalar paquetes
pip install requests flask
# Guardar dependencias
pip freeze > requirements.txt
# Instalar desde requirements
pip install -r requirements.txt
Buena práctica: Siempre usa entornos virtuales para aislar las dependencias del proyecto.