Skip to content
Maestro

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é.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

  1. Tu primer programa

    1. Bienvenida: de notebooks a programas completosconsulta
    2. El intérprete, el editor y la terminal
    3. Los scripts no son notebooks
    4. Ejecuta tu código: en la app o en tu propia computadora
    5. Imprime lo que quieres mostrar
  2. Valores y nombres

    1. Valores, tipos y nombres
    2. Números y conversión de tipos
    3. Cadenas de texto y f-strings
    4. Condiciones: comparaciones, == frente a = y valores verdaderos o falsos
    5. Indentación e if/elif/else
  3. Colecciones

    1. Listas
    2. Tuplas y desempaquetado
    3. Diccionarios y conjuntos
    4. Dos nombres, una lista: mutabilidad
    5. Datos anidados con estructura de JSON
    6. Elegir una colección
  4. Ciclos

    1. Ciclos for y acumuladores
    2. range, enumerate, zip y while
    3. Comprensiones
    4. Ciclos frente a operaciones vectorizadas con pandas y SQL
  5. Funciones

    1. Objetos, métodos y llamadas a funciones
    2. Escribir funciones: def y return
    3. Argumentos predeterminados y alcance
    4. Convierte el copiar y pegar en funciones
    5. Anotaciones de tipo y docstrings
    6. Funciones como valores y decoradores
  6. Errores y tus propios objetos

    1. Leer tracebacks y errores comunes
    2. try, except y raise
    3. Clases y self
    4. Dataclasses
    5. Crear una subclase de una clase de un framework
  7. Archivos, módulos y la biblioteca estándar

    1. Importaciones y la biblioteca estándar
    2. Archivos y rutas
    3. JSON
    4. Tus propios módulos y __main__
    5. Configuración y secretos en variables de entorno
  8. De script a proyecto

    1. Paquetes y entornos con uv
    2. Registrar las dependencias
    3. Errores de importación y «en mi notebook sí funciona»
    4. Leer código que no escribiste
    5. ¿Notebook, script o módulo?
    6. Proyecto final: un programa pequeño con varios archivos
    7. 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.