Guías de cursos

De un fragmento de código Python que funciona a una pequeña herramienta reutilizable

Cuando los registros se multiplican y los requisitos cambian, copiar un fragmento de código ya no basta. AI001 «Introducción a la programación en Python» conecta condiciones, estructuras de datos, funciones y lectura y escritura de archivos en una ruta de aprendizaje que se puede practicar paso a paso.

EvoClass Lectura de 5 min
Ilustración conceptual sobre programación y almacenamiento de datos: una persona que organiza flujos de programa abstractos frente a un ordenador, con tarjetas de registros de lectura y un dispositivo de almacenamiento sobre la mesa.

Imagina que quieres organizar una lista de lectura: qué libros ya has terminado, cuáles aún no has empezado y cómo guardar el progreso para continuar la próxima vez.

Si solo se trata de un libro, unas pocas líneas de código parecen suficientes. Con diez libros, hay que almacenar varios registros; para filtrar los pendientes, hay que explicitar la regla de decisión; y al cerrar el programa descubrimos que los cambios recién hechos no se guardaron.

Una necesidad muy pequeña ya ha puesto sobre la mesa varias cuestiones centrales de la programación. El curso AI001 «Introducción a la programación en Python» de EvoClass organiza diez lecciones en torno a estas capacidades básicas: desde la sintaxis y el control de flujo avanza gradualmente hacia listas, funciones, diccionarios, módulos y lectura y escritura de archivos.

Cómo sabe un programa qué hacer a continuación

Cuando una persona ve una lista, suele decidir con naturalidad qué elementos atender primero. Un programa, en cambio, necesita condiciones y pasos explícitos.

En la Lección 2: Control de flujo y lógica, el curso pasa de la ejecución secuencial a la evaluación de condiciones, las expresiones booleanas y la selección entre varias ramas, y también hace hincapié en los bloques de código delimitados por la indentación.

Volviendo a la lista de lectura, se puede empezar por formular una sola pregunta: ¿el estado de un registro determinado es «sin leer»? Según la respuesta se decide conservarlo o saltarlo, y luego se aplica la misma regla a los demás registros.

Lo que vale la pena practicar en esta etapa es transformar requisitos ambiguos en criterios claros. Por ejemplo, «encontrar los elementos útiles» sigue siendo demasiado amplio, mientras que «conservar los elementos cuyo estado sea sin leer» ya puede convertirse en una regla verificable.

Cuando los datos aumentan, primero hay que pensar cómo guardarlos

Cuando los elementos dejan de ser uno solo, la forma de organizar los datos empieza a influir en cómo se escribe el programa.

La Lección 3: Uso de listas trata las colecciones ordenadas, los índices, el slicing y la adición y eliminación de elementos. Un conjunto de títulos de libros puede guardarse en una lista y luego procesarse elemento por elemento con un bucle.

Pero un libro también puede incluir autor, estado de lectura y fecha de registro. En ese caso, recordar «qué es el segundo elemento» solo por su posición añade carga a las modificaciones posteriores. La Lección 8: Uso de diccionarios introduce las claves y los valores para que los campos tengan nombres explícitos.

Colocar un diccionario por cada elemento de la lista es una forma de organización que se puede probar en este ejercicio. Se trata solo de una sugerencia de aprendizaje, cuyo propósito es comprender que la elección de la estructura de datos hace más directas ciertas operaciones y también influye en cómo otras personas entienden el programa.

Cómo reducir las copias cuando se repite la misma tarea

Si al mostrar en pantalla, exportar la lista y contar elementos se copia la misma regla de filtrado, cualquier cambio de condición obligará a revisar varios lugares a la vez.

La Lección 5: Uso de funciones para reutilizar código gira en torno a la definición de funciones, los parámetros, las llamadas y los valores de retorno, y analiza cómo organizar una operación relacionada en una unidad que pueda reutilizarse.

La operación de filtrado de la lista de lectura puede convertirse en un ejercicio: recibir un conjunto de registros y devolver los que cumplen la condición. Quien la llama se encarga de mostrarlos o guardarlos, mientras que el filtrado mantiene una responsabilidad clara.

Una vez definidos el nombre, la entrada y la salida de la función, la verificación también se vuelve más concreta. ¿Qué se devuelve cuando no hay registros? ¿Qué ocurre cuando todos los libros ya se han leído? Estas cuestiones de borde suelen ayudar a comprender el programa mejor que lograr que un fragmento de código se ejecute sin errores una vez.

Cómo conservar los resultados después de cerrar el programa

Los datos guardados en variables durante la ejecución no se convierten automáticamente en registros que sigan existiendo la próxima vez que se abra el programa.

La Lección 9: Entrada y salida de archivos lleva el aprendizaje fuera del programa: leer y escribir texto, gestionar recursos de archivos y entrar en contacto con formatos de datos habituales como CSV y JSON.

La lista de lectura puede seguir perfeccionándose por este camino: primero leer desde un archivo, luego procesar los registros y, por último, escribir los resultados que se desean conservar. Al escribir hay que distinguir además entre sobrescribir y añadir, para que la siguiente ejecución no altere datos que se querían mantener.

Esta lista es una propuesta didáctica que encadena conocimientos; no es un proyecto completo ya ofrecido por el curso ni una prueba de software realizada en este artículo. Su valor radica en que cada concepto nuevo responde a una necesidad concreta, en lugar de tratar los puntos de sintaxis como una lista de elementos aislados.

En la página del curso AI001 se puede aprender paso a paso desde lo básico, o volver a los capítulos correspondientes con una pequeña tarea propia. Al final, esas pocas líneas de código que se pueden ejecutar quizá se conviertan en una herramienta que uno mismo entiende, puede modificar y puede seguir usando la próxima vez.


Este artículo se ha elaborado a partir del catálogo actual y los materiales didácticos de EvoClass; los enlaces de las lecciones apuntan a materiales en inglés. La lista de lectura es una sugerencia de aprendizaje; este artículo no ha ejecutado experimentos del curso ni promete que completarlo permita entregar software de producción. Las condiciones completas de acceso y de uso de las funciones de programación se rigen por lo indicado en la página.