Python
Aprende Python de principio a fin. Sintaxis, estructuras de datos, POO, generadores, async, pruebas y empaquetado.
19 lecciones, en orden
- 120 min
Hola, Python
Bienvenido. Si nunca has escrito código, estás en el sitio adecuado. Python es un lenguaje de programación, es decir, una manera de darle a un...
VariablesPrintRepl - 225 min
Números y cadenas
Bienvenido de nuevo. En la lección 01 ejecutaste tu primer archivo de Python y aprendiste que una variable es una caja etiquetada que guarda un...
IntegersFloatsString concatenationF-strings - 315 min
Asking the User a Question
Hasta ahora has escrito programas que hacen siempre lo mismo cuando pulsas el botón de ejecutar. Los ejecutas diez veces y obtienes las mismas diez...
Input()String return typeInt() and float() conversionInteractive programs - 430 min
Control de flujo
Hasta ahora tus programas se ejecutaban de corrido, de arriba abajo, una línea detrás de otra. Eso vale para dar los buenos días, pero la mayoría de...
If/elif/elseComparison operatorsBoolean operatorsWhile loopsFor loopsBreak and continue - 530 min
Listas y tuplas
Hasta ahora cada variable ha guardado un único valor: un número, una cadena. Los programas reales casi siempre necesitan mantener juntos un grupo...
List creationIndexingSlicingAppendPopIteration+2 - 630 min
Diccionarios y conjuntos
Bienvenido de nuevo. Las listas van muy bien cuando el orden importa y accedes a los elementos por posición, pero muchos datos reales se organizan...
Dict basicsGet with defaultIterate keysIterate valuesIterate itemsSets+1 - 730 min
Funciones
Bienvenido de nuevo. Hasta ahora has usado unas cuantas funciones que vienen con Python, como print() y len(). En esta lección vas a escribir las...
DefParametersDefault valuesKeyword arguments*args and **kwargsReturn values+1 - 825 min
Comprehensions
Ya sabes escribir un bucle for que construye una lista, un diccionario o un conjunto nuevo elemento a elemento. Una comprensión es una forma más...
List comprehensionsDict comprehensionsSet comprehensionsConditional expressionsGenerator expressionsReadability tradeoffs - 930 min
Archivos e IO
Un programa que solo imprime en el terminal olvida todo en cuanto termina. El paso siguiente, el que de golpe hace que Python resulte útil, es...
Open with withReading linesWriting filesPathlib.PathJson readJson write - 1030 min
Modules y Packages
Hasta ahora todos los programas han vivido en un único archivo. Eso está bien mientras aprendes, pero los proyectos reales reparten su código entre...
ImportFrom importWriting your own moduleIf __name__ == "__main__"Packages__init__.py - 1135 min
Clases y OOP
Bienvenido a una de las ideas más grandes de Python. Hasta ahora has usado herramientas ya incluidas (cadenas, listas, diccionarios, funciones) para...
Class definition__init__Instance attributesClass attributesMethods__repr__ - 1230 min
Herencia y composición
En la lección 10 construiste clases desde cero. En el código real, las clases rara vez viven solas. A veces una clase es una versión más específica...
SubclassingSuper()Method overridingCompositionWhen to choose composition - 1330 min
Manejo de excepciones
Ya te has encontrado con errores. Cada vez que escribiste mal un nombre, dividiste entre cero o le pediste a una lista un índice que no existía,...
TryExceptElseFinallyRaiseCustom exception classes+1 - 1430 min
Iterators y Generators
Ya sabes escribir for item in something: de lecciones anteriores. En esta lección miramos por dentro y descubrimos qué hace Python en realidad cada...
Iterator protocolYieldGenerator functionsGenerator expressionsLazy evaluation - 1530 min
Decorators
Bienvenido a uno de los temas más delicados de Python. Un decorador es un pequeño envoltorio que pones alrededor de una función para que gane algo de...
Functions are objectsWrapper functions@decorator syntaxFunctools.wrapsParametrized decorators - 1625 min
Context Managers
Bienvenido de nuevo. Desde la lección 08 llevas escribiendo with open(...) as f: confiando en que el archivo se cierra cuando termina el bloque. Esta...
With statement__enter__ and __exit__Writing your own context managerContextlib.contextmanager - 1740 min
Concurrencia: hilos y Async
Bienvenido de nuevo. Hasta ahora nuestros programas han hecho una cosa cada vez, de arriba abajo, y así ha funcionado bien. El problema empieza...
GIL in plain languageConcurrent.futures.ThreadPoolExecutorAsyncio basicsAsync defAwaitWhen to use threads vs async - 1835 min
Pruebas con pytest
Bienvenido de nuevo. Hasta ahora has ejecutado código y has comprobado la salida con tus propios ojos. Eso vale para unas pocas líneas, pero en...
Test functionsAssertRunning pytestParametrizeFixtures - 1935 min
Empaquetado y despliegue
Hasta ahora has escrito código de Python que ejecutas tú (y solo tú) escribiendo python algo.py. Esta lección trata del paso pequeño y casi mecánico...
Pyproject.tomlPip install -eConsole scriptsBuilding a wheelPublishing to PyPI
Aprende Python en tu idioma
Cada lección, examen y respuesta del tutor aparece en tu idioma. El tutor de IA responde en el idioma en que le hablas.
Roles that use Python
See how hiring teams interview engineers on Python, in production-like environments.
Senior Python Developer
Hire senior Python developers in real Django, FastAPI and Flask codebases with real load and real test suites. Live or take-home, fully recorded.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview