📌 Tuplas (tuple). Son como listas pero inmutables (no se pueden modificar).

datos = (1, 2, 3)

✔ Más seguras
✔ Más rápidas que listas
✔ Útiles para datos que no deben cambiar

📌 Conjuntos (set). Colección sin elementos repetidos y sin orden.

numeros = {1, 2, 3}

✔ Eliminan duplicados
✔ Permiten operaciones matemáticas (unión, intersección)
✔ Muy eficientes para búsquedas

📌 Comprensiones (List Comprehension). Forma compacta de crear listas.

cuadrados = [x*x for x in range(10)]

✔ Código más limpio
✔ Más rápido que un for tradicional
✔ Muy usado en código profesional

📌 Manejo de Archivos. Leer y escribir archivos correctamente.

with open("archivo.txt", "r") as f:
      contenido = f.read()

✔ with cierra el archivo automáticamente
✔ Fundamental para logs, configs, escáneres, APIs

📌 Módulos y Paquetes. Permiten reutilizar código y organizar proyectos.

import os
import sys

✔ Separar código en archivos
✔ Crear proyectos escalables
✔ Instalar librerías con pip

📌 Concurrencia (Threading, Async, Multiprocessing). Permite ejecutar múltiples tareas “al mismo tiempo”.

🧵 threading → tareas I/O simples
⚡ asyncio → muchas conexiones simultáneas
🧨 multiprocessing → usar múltiples núcleos CPU

✔ Mejora rendimiento en redes, APIs y automatización

🧠 En resumen.

Los fundamentos intermedios te permiten:

✔ Escribir código más profesional
✔ Hacer programas más rápidos
✔ Organizar proyectos grandes
✔ Manejar datos reales
✔ Crear herramientas escalables
← REGRESAR