Python para quienes trabajan con datos: de notebooks a programas completos
Escribe, ejecuta y organiza programas completos de Python, y prepárate para empezar a crear aplicaciones de datos y APIs.
Avanzas a tu ritmo, con tu Maestro que te acompaña en todo el curso. Lo abres desde la página en la que vas y le preguntas lo que quieras; también te pregunta a ti.
63 habilidades · 8 módulos
USD 25
Incluye tu Maestro para acompañarte 1:1 en todo el curso.
Lo que vas a poder hacer
Cada recuadro es una habilidad. Abajo está la base, reconocer y explicar, y de ahí vas subiendo hasta construir lo tuyo y juzgar qué funciona y por qué. Pasa el cursor sobre un recuadro para ver en qué se apoya. Haz clic para ver dónde lo enseño y cómo lo revisa tu Maestro.
- Evaluar
- Sintetizar
- Analizar
- Aplicar
- Comprender
- Recordar
Evaluar
Elegir una lista, tupla, diccionario o conjunto para una tarea y justificar la elección
Dónde lo enseño: Colecciones · Elegir una colección
Se apoya en:
- Crear listas, acceder a sus elementos y segmentos, y modificarlas (append, insert, remove, sort)
- Usar tuplas para grupos fijos de valores y desempaquetarlas en nombres separados
- Crear, leer, actualizar y recorrer diccionarios por clave
- Usar conjuntos para eliminar duplicados y comprobar si contienen un elemento
- Explicar la mutabilidad: qué tipos pueden cambiar sin crear otro objeto (list, dict, set) y cuáles no (int, str, tuple)
Tu Maestro te pide juzgar cuándo conviene y por qué y, cuando lo haces, lo guarda como evidencia.
Elegir si una tarea corresponde a un notebook, un script o un módulo, y justificar la elección
Dónde lo enseño: De script a proyecto · ¿Notebook, script o módulo?
Se apoya en:
- Explicar en qué se diferencia un script de un notebook: se ejecuta de arriba hacia abajo en un proceso nuevo cada vez, sin estado oculto de celdas anteriores
- Dividir un programa en tus propios módulos e importar entre ellos
- Diagnosticar por qué un código que funciona en un notebook falla como script: otro intérprete, un paquete faltante u otro directorio de trabajo
Tu Maestro te pide juzgar cuándo conviene y por qué y, cuando lo haces, lo guarda como evidencia.
Sintetizar
Diseñar un pequeño programa de varios archivos (funciones, un módulo propio, un punto de entrada principal y su propio entorno) que resuelva un problema definido
Dónde lo enseño: De script a proyecto · Proyecto final: un programa pequeño con varios archivos
Se apoya en:
- Convertir código repetido mediante copiar y pegar en una función reutilizable con parámetros claros
- Dividir un programa en tus propios módulos e importar entre ellos
- Usar if __name__ == "__main__" para separar el código reutilizable de un módulo del que se ejecuta como script
- Crear un entorno virtual para un proyecto e instalar paquetes en él
- Manejar un error previsto con try/except, capturando una excepción específica en lugar de capturarlas todas
- Registrar las dependencias de un proyecto (pyproject.toml o requirements.txt) para que otra persona pueda recrear su entorno
Tu Maestro te pide construir algo propio con ello y, cuando lo haces, lo guarda como evidencia.
Analizar
Predecir cuándo dos nombres comparten un objeto mutable y un cambio hecho mediante uno se refleja al usar el otro
Dónde lo enseño: Colecciones · Dos nombres, una lista: mutabilidad
Se apoya en:
- Explicar la mutabilidad: qué tipos pueden cambiar sin crear otro objeto (list, dict, set) y cuáles no (int, str, tuple)
- Explicar que una variable es un nombre vinculado a un objeto, no una caja que contiene un valor
- Crear listas, acceder a sus elementos y segmentos, y modificarlas (append, insert, remove, sort)
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Comparar un ciclo de Python con una operación vectorizada de un DataFrame o con SQL, y explicar por qué el ciclo procesa un elemento a la vez
Dónde lo enseño: Ciclos · Ciclos frente a operaciones vectorizadas con pandas y SQL
Se apoya en:
- Construir un resultado dentro de un ciclo con un acumulador: una suma progresiva, una lista que crece o un diccionario de conteos
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Diagnosticar un programa que falla a partir de su traceback y de los tipos de error comunes (NameError, TypeError, KeyError, IndexError, AttributeError)
Dónde lo enseño: Errores y tus propios objetos · Leer tracebacks y errores comunes
Se apoya en:
- Leer un traceback de abajo hacia arriba para encontrar el tipo de error, su mensaje y la línea que lo provocó
- Crear listas, acceder a sus elementos y segmentos, y modificarlas (append, insert, remove, sort)
- Crear, leer, actualizar y recorrer diccionarios por clave
- Explicar que cada valor es un objeto con un tipo, atributos y métodos a los que se accede con un punto
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Diagnosticar por qué un código que funciona en un notebook falla como script: otro intérprete, un paquete faltante u otro directorio de trabajo
Dónde lo enseño: De script a proyecto · Errores de importación y «en mi notebook sí funciona»
Se apoya en:
- Crear un entorno virtual para un proyecto e instalar paquetes en él
- Explicar en qué se diferencia un script de un notebook: se ejecuta de arriba hacia abajo en un proceso nuevo cada vez, sin estado oculto de celdas anteriores
- Diagnosticar un ModuleNotFoundError siguiendo dónde busca Python una importación: la carpeta del script y luego los paquetes del entorno activo
- Construir rutas de archivos con pathlib y resolver rutas relativas a partir del directorio de trabajo
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Diagnosticar un ModuleNotFoundError siguiendo dónde busca Python una importación: la carpeta del script y luego los paquetes del entorno activo
Dónde lo enseño: De script a proyecto · Errores de importación y «en mi notebook sí funciona»
Se apoya en:
- Importar módulos, nombres de módulos y alias, y explicar el espacio de nombres que crea cada importación
- Dividir un programa en tus propios módulos e importar entre ellos
- Leer un traceback de abajo hacia arriba para encontrar el tipo de error, su mensaje y la línea que lo provocó
- Explicar qué son un paquete, un instalador de paquetes (pip o uv) y un entorno virtual, y por qué cada proyecto tiene su propio entorno
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Describir en palabras sencillas lo que hace un script de Python desconocido, función por función
Dónde lo enseño: De script a proyecto · Leer código que no escribiste
Se apoya en:
- Definir una función con def, parámetros y un valor de retorno
- Repetir una tarea para cada elemento de una colección con un ciclo for
- Crear rutas alternativas en un programa con if, elif y else
- Importar módulos, nombres de módulos y alias, y explicar el espacio de nombres que crea cada importación
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Aplicar
Ejecutar un script de Python desde la terminal y leer la salida que imprime
Dónde lo enseño: Tu primer programa · Ejecuta tu código: en la app o en tu propia computadora
Se apoya en:
- Distinguir el intérprete de Python que ejecuta el código, el editor donde lo escribes y la terminal desde donde lo inicias
- Explicar que el intérprete de Python lee el texto de un programa y lo ejecuta instrucción por instrucción, de arriba hacia abajo
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Mostrar valores en un script con print(), teniendo en cuenta que no muestra automáticamente lo que mostraría un notebook
Dónde lo enseño: Tu primer programa · Imprime lo que quieres mostrar
Se apoya en:
- Ejecutar un script de Python desde la terminal y leer la salida que imprime
- Explicar en qué se diferencia un script de un notebook: se ejecuta de arriba hacia abajo en un proceso nuevo cada vez, sin estado oculto de celdas anteriores
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Asignar y reasignar variables, y predecir a qué se refiere cada nombre después de cada línea
Dónde lo enseño: Valores y nombres · Valores, tipos y nombres
Se apoya en:
- Explicar que una variable es un nombre vinculado a un objeto, no una caja que contiene un valor
- Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Calcular con operadores aritméticos (incluidos /, // y %) y convertir entre tipos con int(), float() y str()
Dónde lo enseño: Valores y nombres · Números y conversión de tipos
Se apoya en:
- Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
- Asignar y reasignar variables, y predecir a qué se refiere cada nombre después de cada línea
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Trabajar con cadenas de texto: acceder a caracteres y segmentos, usar métodos comunes y construir texto con f-strings
Dónde lo enseño: Valores y nombres · Cadenas de texto y f-strings
Se apoya en:
- Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
- Asignar y reasignar variables, y predecir a qué se refiere cada nombre después de cada línea
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Escribir comparaciones y combinarlas con and, or y not, distinguiendo = (asignación) de == (igualdad)
Dónde lo enseño: Valores y nombres · Condiciones: comparaciones, == frente a = y valores verdaderos o falsos
Se apoya en:
- Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
- Asignar y reasignar variables, y predecir a qué se refiere cada nombre después de cada línea
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Comprender
Distinguir el intérprete de Python que ejecuta el código, el editor donde lo escribes y la terminal desde donde lo inicias
Dónde lo enseño: Tu primer programa · El intérprete, el editor y la terminal
Se apoya en:
- Explicar que el intérprete de Python lee el texto de un programa y lo ejecuta instrucción por instrucción, de arriba hacia abajo
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar que el intérprete de Python lee el texto de un programa y lo ejecuta instrucción por instrucción, de arriba hacia abajo
Dónde lo enseño: Tu primer programa · El intérprete, el editor y la terminal
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar en qué se diferencia un script de un notebook: se ejecuta de arriba hacia abajo en un proceso nuevo cada vez, sin estado oculto de celdas anteriores
Dónde lo enseño: Tu primer programa · Los scripts no son notebooks
Se apoya en:
- Explicar que el intérprete de Python lee el texto de un programa y lo ejecuta instrucción por instrucción, de arriba hacia abajo
- Distinguir el intérprete de Python que ejecuta el código, el editor donde lo escribes y la terminal desde donde lo inicias
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar que una variable es un nombre vinculado a un objeto, no una caja que contiene un valor
Dónde lo enseño: Valores y nombres · Valores, tipos y nombres
Se apoya en:
- Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar qué valores se consideran falsos en una condición (0, cadena vacía, lista vacía, None) y por qué importa
Dónde lo enseño: Valores y nombres · Condiciones: comparaciones, == frente a = y valores verdaderos o falsos
Se apoya en:
- Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar que la indentación, y no las llaves ni las palabras clave, define qué líneas pertenecen a un bloque
Dónde lo enseño: Valores y nombres · Indentación e if/elif/else
Se apoya en:
- Explicar que el intérprete de Python lee el texto de un programa y lo ejecuta instrucción por instrucción, de arriba hacia abajo
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Recordar
Nombrar los tipos de valores básicos de Python (int, float, str, bool, None) y reconocerlos en el código
Dónde lo enseño: Valores y nombres · Valores, tipos y nombres
Tu Maestro te pide reconocerlo y recordarlo y, cuando lo haces, lo guarda como evidencia.
Lo que vamos a ver
Tu primer programa
- Bienvenida: de notebooks a programas completosconsulta
- El intérprete, el editor y la terminal
- Los scripts no son notebooks
- Ejecuta tu código: en la app o en tu propia computadora
- Imprime lo que quieres mostrar
Valores y nombres
- Valores, tipos y nombres
- Números y conversión de tipos
- Cadenas de texto y f-strings
- Condiciones: comparaciones, == frente a = y valores verdaderos o falsos
- Indentación e if/elif/else
Colecciones
- Listas
- Tuplas y desempaquetado
- Diccionarios y conjuntos
- Dos nombres, una lista: mutabilidad
- Datos anidados con estructura de JSON
- Elegir una colección
Ciclos
- Ciclos for y acumuladores
- range, enumerate, zip y while
- Comprensiones
- Ciclos frente a operaciones vectorizadas con pandas y SQL
Funciones
- Objetos, métodos y llamadas a funciones
- Escribir funciones: def y return
- Argumentos predeterminados y alcance
- Convierte el copiar y pegar en funciones
- Anotaciones de tipo y docstrings
- Funciones como valores y decoradores
Errores y tus propios objetos
- Leer tracebacks y errores comunes
- try, except y raise
- Clases y self
- Dataclasses
- Crear una subclase de una clase de un framework
Archivos, módulos y la biblioteca estándar
- Importaciones y la biblioteca estándar
- Archivos y rutas
- JSON
- Tus propios módulos y __main__
- Configuración y secretos en variables de entorno
De script a proyecto
- Paquetes y entornos con uv
- Registrar las dependencias
- Errores de importación y «en mi notebook sí funciona»
- Leer código que no escribiste
- ¿Notebook, script o módulo?
- Proyecto final: un programa pequeño con varios archivos
- Lo que sigue: de programas a appsconsulta
Tu Maestro conoce este curso
- Siempre sabe en qué página vas.
- Trabaja con las habilidades que escogí para este curso, las del mapa de arriba.
- Si le preguntas cómo vas, te dice lo que ya demostraste y qué sigue.
Lo que recibes
- 8 módulos y 43 páginas, todo abierto para cuando quieras.
Tu Maestro para todo el curso, que conoce cada lección y lo que ya le mostraste. Lo abres desde la página en la que vas.
Quién te va a enseñar
Sergio Sánchez
I'm Sergio, chekos online. I've worked with data for about ten years, mostly at mission-driven organizations: policy research first, then education, and now early childhood services. In 2018 I started tacosdedatos to share what I was learning, and since then it's been a blog, a podcast, courses, guides, and a community. These days I spend a lot of my time building with AI agents and writing about how I organize my work around them. I share what I've learned; you take what's useful and make it yours.
Nos vemos en el curso
Python para quienes trabajan con datos: de notebooks a programas completos
USD 25
Incluye tu Maestro para acompañarte 1:1 en todo el curso.