Volver a Python Básico

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.