Skip to content

Latest commit

 

History

History
205 lines (153 loc) · 17.4 KB

File metadata and controls

205 lines (153 loc) · 17.4 KB

Roadmap de Python Study Guide

🇺🇸 English · 🇧🇷 Português · 🇪🇸 Español

Este roadmap acompaña tanto la ruta educativa como la base del repositorio que la sostiene. La numeración de las fases representa la secuencia de aprendizaje prevista, pero el trabajo del repositorio puede anticipar secciones posteriores cuando eso ayude a establecer estándares útiles.

Leyenda de estados

  • Completada: el alcance planificado está disponible y revisado.
  • En progreso: ya existe material útil, pero el alcance planificado todavía no está cerrado.
  • Planificada: la fase todavía no ha comenzado como una sección completa de aprendizaje.

Progreso actual

Fase Estado Resultado actual
0. Base del proyecto Completada Base disponible, auditada y oficialmente completada
1. Fundamentos Completada Seis capítulos revisados cubren ejecución, entrada y salida, variables y nombres, tipos de datos incorporados, inspección de tipos y conversión de tipos
2. Textos y números Completada Cuatro capítulos revisados cubren creación de strings, métodos comunes, comportamiento numérico y booleano, precisión de punto flotante y funciones numéricas incorporadas
3. Colecciones Completada Seis capítulos revisados cubren listas, tuplas, diccionarios, conjuntos y elección de colección según la intención
4. Flujo del programa Completada Ocho capítulos revisados cubren condiciones, ramificaciones, coincidencia de patrones estructurales, for, ayudas de iteración, while, control de bucles y elección y combinación de herramientas de flujo según la intención
5. Funciones Completada Nueve capítulos revisados cubren def, llamadas, entradas obligatorias, valores retornados, alcance, type hints, valores predeterminados seguros, argumentos flexibles, composición de funciones y flujo explícito de datos
6. Comentarios, documentación y código limpio Completada Seis capítulos revisados están disponibles y la sección educativa piloto está oficialmente completada
7. Errores, archivos y módulos Completada Cinco capítulos revisados cubren manejo de excepciones, señalización deliberada, I/O seguro de archivos, formatos TXT/CSV/JSON e imports/módulos/paquetes
8. Biblioteca estándar Completada Nueve capítulos revisados cubren rutas, fecha/hora, JSON, CSV, logging, colecciones especializadas, iteración lazy, aritmética decimal y operaciones de OS/filesystem
9. Bibliotecas externas Completada Cuatro capítulos revisados cubren pandas, openpyxl, requests y pytest con contratos explícitos de dependencias y ejemplos deterministas
10. Proyectos prácticos En progreso Los Proyectos 01–05 están completados; el Proyecto 06 Organizador de Archivos está en progreso con planificación determinista, seguridad de colisiones, identidad de filesystem, directorios anclados y commit atómico no-replace

Las Fases 0–9 están completadas. La Fase 10: Proyectos Prácticos está en progreso con Control de Gastos, Calculadora de Notas, Registro de Usuarios, Analizador CSV y Generador de Informes completados como Proyectos 01–05, mientras que Organizador de Archivos es el Proyecto 06 actual. La fase transforma conceptos ya estudiados en flujos completos con requisitos, decisiones de diseño, implementación, validación, caminos de extensión y discusión de portafolio.

Fase 0: Base del proyecto

Elementos completados

  • READMEs principales multilingües
  • Estructura inicial escalable
  • Guías de contribución multilingües
  • Plantillas de pull request e issues en GitHub
  • Estándares de la comunidad y orientaciones para reportes
  • Formato editorial coherente para los capítulos
  • Licencia MIT
  • Registros de autoría y mantenimiento
  • Flujo basado en pull requests y rama main protegida
  • Instrucciones del repositorio para colaboradores y agentes de IA
  • Guía de desarrollo responsable asistido por IA
  • Roadmap y documentación de la estructura en tres idiomas
  • Verificaciones automáticas para archivos Python, ejemplos aprobados, enlaces internos y estructura
  • Identidad visual original y recursos del repositorio
  • Auditoría final de navegación, terminología, accesibilidad y estado
  • Marcar oficialmente la Fase 0 como completada

Seguimiento planificado y no bloqueante

  • Refinar y reemplazar los recursos visuales con exportaciones de alta calidad después de completar el encuadre final del logotipo.

Fase 1: Fundamentos

Fase 2: Textos y números

Fase 3: Colecciones

Fase 4: Flujo del programa

Consulta la ruta de aprendizaje de la sección.

La Fase 4 construye intencionalmente condiciones confiables primero, las usa para ramificaciones condicionales, introduce coincidencia de patrones estructurales, avanza hacia la repetición con for, añade ayudas para progresiones numéricas, posiciones e iteración paralela, introduce repetición guiada por estado con while, añade control deliberado de bucles con break, continue y else de bucle y cierra enseñando cómo elegir y combinar esas herramientas según la intención. Los Capítulos 01–08 están completados y la Fase 4 está oficialmente completada.

Fase 5: Funciones

Consulta la ruta de aprendizaje de la sección.

La Fase 5 está completada. El Capítulo 01 establece def, llamadas, reutilización, orden de ejecución, nombres, pass, None implícito y la conexión con el flujo del programa. El Capítulo 02 añade parámetros obligatorios, argumentos posicionales y por palabra clave básicos, expresiones como argumentos, errores de llamada y seguimiento del flujo de entrada. El Capítulo 03 añade return, resultados reutilizables, retornos por rama y anticipados, None y retornos en tupla. El Capítulo 04 añade nombres locales y globales, namespaces locales por llamada, búsqueda, sombreado, NameError, UnboundLocalError y uso cauteloso de global. El Capítulo 05 añade anotaciones de parámetros y retorno, hints de tipos incorporados y colecciones, -> None, str | None, metadatos de anotaciones y la diferencia entre información estática de tipos, validación en runtime y conversión. El Capítulo 06 añade valores predeterminados, reemplazos posicionales y por palabra clave selectivos, evaluación al definir la función, la trampa de valores mutables y el patrón seguro con None para crear objetos mutables nuevos. El Capítulo 07 añade recolección de cantidades variables de argumentos posicionales y por palabra clave con *args y **kwargs, comportamiento de tupla y diccionario dentro de la función, firmas mixtas simples, type hints básicos para los valores recogidos y la distinción entre recolección en la definición y desempaquetado posterior en la llamada. El Capítulo 08 compone funciones auxiliares y coordinadoras, pasa resultados retornados entre pasos, mantiene explícitas las dependencias mediante parámetros y retornos, combina funciones con condiciones y bucles, distingue cálculo reutilizable de presentación e introduce grafos simples de llamadas. El Capítulo 09 cierra la fase siguiendo el flujo llamador-parámetro-retorno, los vínculos locales de parámetros, reasignación frente a mutación, resultados en tupla y None, pipelines explícitos, transformaciones de colecciones y la diferencia entre grafos de llamadas y seguimientos de flujo de datos.

Fase 6: Comentarios, documentación y código limpio

Consulta la ruta de aprendizaje de la sección.

  • Cuándo y por qué comentar
  • Cuándo no comentar
  • Comentarios útiles y perjudiciales
  • Docstrings
  • Nombres significativos y código autoexplicativo
  • TODO, FIXME, NOTE y marcadores relacionados
  • Comentarios frente a logging
  • PEP 8 y legibilidad

La Fase 6 está oficialmente completada y proporciona el modelo editorial y de calidad para las demás secciones de aprendizaje.

Fase 7: Errores, archivos y módulos

Consulta la ruta de aprendizaje de la sección.

La Fase 7 está completada. Los Capítulos 01–02 establecen manejo y señalización deliberada de excepciones. El Capítulo 03 añade I/O seguro de archivos y gestión de recursos. El Capítulo 04 añade parsing y escritura de TXT, CSV y JSON con límites explícitos de datos. El Capítulo 05 cierra la fase con módulos, paquetes regulares, namespaces y caché de imports, __name__, main guard, contexto de búsqueda, imports absolutos y relativos, python -m y diseño de dependencias.

Fase 8: Biblioteca estándar

Consulta la ruta de aprendizaje de la sección.

La Fase 8 está completada. Los Capítulos 01–08 construyen contratos para rutas, fecha/hora, formatos estructurados, logging, colecciones especializadas, iteración lazy y aritmética decimal. El Capítulo 09 cierra la fase conectando esas bases con estado del entorno del proceso, interfaces path-like, exploración y recorrido de directorios, metadatos, copia, movimiento, eliminación recursiva, capacidades de plataforma y seguridad de archives.

Fase 9: Bibliotecas externas

Consulta la ruta de aprendizaje de la sección.

La Fase 9 está completada. El Capítulo 01 introduce pandas 3.0.x para datos tabulares etiquetados. El Capítulo 02 añade automatización de libros con openpyxl 3.1.x. El Capítulo 03 añade contratos HTTP/API con Requests 2.34.x. El Capítulo 04 cierra la fase con contratos de pruebas automatizadas en pytest 9.1.x, cubriendo descubrimiento, assertions, fixtures, parametrización, recursos temporales, monkeypatching, captura, marks, aislamiento determinista y CI. Los ejemplos ejecutables de bibliotecas externas usan el contrato declarado en requirements-external.txt.

Fase 10: Proyectos prácticos

Consulta el índice de la sección Proyectos Prácticos.

El Proyecto 01 establece el contrato de la Fase 10 con requisitos explícitos, modelado de datos validado, dinero exacto con Decimal, persistencia, demostración determinista, cobertura automatizada con pytest, desafíos de ampliación y discusión de portafolio. El Proyecto 02 amplía el contrato con reglas de calificación configurables, agregación ponderada exacta, informe parcial/final explícito y validación centrada en límites. El Proyecto 03 añade datos de identidad canónicos, normalización Unicode e IDNA, prevención de duplicados, índices secundarios, actualizaciones seguras y transiciones explícitas del ciclo de vida sin introducir autenticación. El Proyecto 04 añade schemas CSV estrictos, conversión tipada, separación entre fallos estructurales y fallos de fila, parsing con éxito parcial, identificadores aceptados duplicados, agregación determinista y filtros con la mecánica de la biblioteca estándar expuesta explícitamente. El Proyecto 05 añade ventanas inclusivas explícitas de fechas, validación de identidad del origen, métricas exactas y deterministas de resumen, construcción inmutable del informe, renderización TXT/Markdown, escape específico del formato y escritura UTF-8. El Proyecto 06 añade descubrimiento superficial determinista, planificación inmutable, categorías por sufijo, políticas explícitas de colisión, fronteras de symlink, identidad (device, inode), anclaje de descriptors de raíz/categorías, nombres de staging acotados y commits atómicos no-replace sensibles a la plataforma con renameat2(RENAME_NOREPLACE) en Linux.

Cada proyecto debe incluir:

  • requisitos;
  • notas de diseño;
  • implementación;
  • explicación;
  • cobertura automatizada del comportamiento importante;
  • desafíos de ampliación;
  • discusión de portafolio.

Criterios continuos de calidad

Cada fase debe preservar:

  • precisión técnica;
  • consistencia multilingüe;
  • ejemplos originales y seguros para publicación;
  • datos seguros desde el punto de vista de la privacidad;
  • ejemplos ejecutables de Python cuando corresponda;
  • integridad de la navegación interna;
  • atención a PEP 8;
  • documentación de cambios estructurales relevantes;
  • transparencia sobre dependencias y supuestos de versión.

El roadmap evolucionará a medida que el proyecto crezca, pero los cambios deben preservar la progresión desde los conceptos iniciales hasta el trabajo práctico integrado.