Curso interactivo
Curso de Python
Aprende Python desde cero con CPython en WebAssembly: ejecuta scripts en el navegador, trabaja con strings y colecciones, usa la biblioteca estándar y crea pequeñas automatizaciones verificables de inmediato.
01 · Módulo 1 — Bases del lenguaje
Los fundamentos: declarar variables, reconocer tipos, realizar cálculos, tomar decisiones e imprimir en consola.
- 1.1Variables y tiposDar un nombre a un valor, descubrir el tipo con type(), conocer int / float / str / bool / None.~10 min
- 1.2OperadoresAritmética (incluidos // y **), comparación, lógica booleana con and / or / not, precedencia.~10 min
- 1.3Condicionales: if, elif, elseEjecutar código diferente según una condición; el papel de la indentación.~10 min
- 1.4Impresión y f-stringsprint() para mostrar valores, f-strings para componer texto con interpolación `{var}`.~8 min
02 · Módulo 2 — Control de flujo
Repetir, saltar, gestionar errores: los constructos que hacen reaccionar al programa ante los datos y los problemas.
- 2.1Bucles for y rangeIterar sobre una secuencia con for, generar intervalos numéricos con range(start, stop, step).~10 min
- 2.2Bucles whileRepetir mientras una condición siga siendo verdadera; cuándo preferir while en lugar de for.~8 min
- 2.3break, continue y else en buclesSalir antes de tiempo de un bucle, omitir una iteración, usar el particular constructo for…else.~10 min
- 2.4Gestión de errores: try/exceptCapturar excepciones específicas, distinguir try/except/else/finally, lanzar errores con raise.~12 min
03 · Módulo 3 — Estructuras de datos
Las cuatro colecciones integradas: list (secuencia mutable), tuple (secuencia inmutable), dict (mapa clave-valor) y set (colección de elementos únicos).
- 3.1ListasCrear, acceder por índice y slice, añadir y eliminar, ordenar. La secuencia que usarás más a menudo.~12 min
- 3.2Tuplas y desempaquetadoSecuencias inmutables, packing y unpacking, intercambio sin variable temporal, * para el resto.~10 min
- 3.3DiccionariosMapas clave→valor, acceso con [] y .get, iterar sobre keys/values/items, dict.setdefault.~12 min
- 3.4ConjuntosColecciones de elementos únicos, operaciones de conjuntos (& | - ^), prueba de pertenencia en tiempo O(1).~10 min
04 · Módulo 4 — Strings y números
Trabajar con texto (métodos, slicing) y números (math, conversiones de tipo) de forma idiomática.
- 4.1Métodos de stringsLos métodos más utilizados: upper/lower, strip, split/join, replace, startswith/endswith, find/in.~12 min
- 4.2Slicing e indexaciónÍndices positivos y negativos, slice [start:stop:step], inversión de strings, subcadenas.~10 min
- 4.3Números y módulo mathint, float, división real vs entera, módulo %, abs/round/min/max, math.sqrt, math.pi.~10 min
- 4.4Conversiones de tipoint(), float(), str(), bool(): conversión explícita, parseo de entradas, verdad (truthiness) de los valores.~10 min
05 · Módulo 5 — Funciones
Definir funciones con def, devolver valores, gestionar parámetros por defecto, *args/**kwargs y lambda.
- 5.1def y returnSintaxis def, return (explícito e implícito None), parámetros posicionales, docstrings.~12 min
- 5.2Parámetros por defecto y keywordValores por defecto, llamadas con keyword arguments, orden de posicionales antes de keyword, el peligro de los valores por defecto mutables.~12 min
- 5.3*args y **kwargsFunciones con número variable de argumentos: *args recopila posicionales, **kwargs recopila keyword. Desempaquetado en llamada.~12 min
- 5.4Lambda y funciones de orden superiorFunciones anónimas con lambda, uso con sorted/max/min, cuándo preferir def, sorted(..., key=...).~10 min
06 · Módulo 6 — Comprehensions e iteración
List/dict/set comprehensions, generator expressions y las herramientas fundamentales del módulo itertools.
- 6.1List comprehensionSintaxis [expresión for x in iter if cond], transformación, filtrado, anidamiento.~12 min
- 6.2Dict y set comprehensionSintaxis {k: v for ...} y {x for ...} para construir diccionarios y conjuntos de forma declarativa.~10 min
- 6.3Generator expressionsSintaxis (... for ... in ...), iteración perezosa (lazy), memoria constante, sum/any/all sobre generadores.~10 min
- 6.4itertools esencialesLas funciones más usadas: enumerate, zip, chain, count, repeat, combinations.~12 min
07 · Módulo 7 — Clases y módulos
Programación orientada a objetos en Python: clases, herencia, métodos especiales (dunder), importación y organización en módulos.
- 7.1Clases e instanciasclass, __init__, atributos y métodos de instancia, self, atributos de clase vs de instancia.~14 min
- 7.2HerenciaSubclases, super(), anulación de métodos, isinstance, MRO básico.~12 min
- 7.3Métodos especiales (dunder)__str__, __repr__, __eq__, __len__: integrar tus objetos con el lenguaje.~12 min
- 7.4import y módulosimport, from ... import, alias con as, organización en módulos, if __name__ == "__main__".~10 min
08 · Módulo 8 — Biblioteca estándar esencial
Los módulos de la biblioteca estándar con los que te toparás cada día: json, datetime, collections, re.
- 8.1JSON: serialización y parseojson.dumps / json.loads, mapeo de tipos Python ↔ JSON, indent, sort_keys, default.~10 min
- 8.2datetime: fechas y horasdatetime.now(), date/time/datetime/timedelta, formateo con strftime, parseo con strptime, aritmética.~12 min
- 8.3collections: Counter y defaultdictCounter para recuentos, defaultdict para diccionarios autoinicializados, namedtuple como registro ligero.~12 min
- 8.4Módulo re: regex en Pythonre.search / re.match / re.findall / re.sub, flags, cadenas crudas r"...", grupos con nombre.~12 min
09 · Módulo 9 — Python moderno: práctica
Las prácticas modernas de Python: type hints, dataclasses, context managers y decoradores. El código que escribes en 2025.
- 9.1Type hints: anotar tiposAnotaciones de parámetros y retornos, list[int] / dict[str, int], Optional, Union, introducción a mypy.~12 min
- 9.2dataclasses: clases de datos sin boilerplate@dataclass, field(default_factory=...), frozen=True, equivalente de __init__/__repr__/__eq__.~12 min
- 9.3Context managers: with y __enter__/__exit__with open(...), escribir tu propio context manager con __enter__/__exit__, contextlib.contextmanager.~12 min
- 9.4Decoradores: funciones que modifican funcionesFunciones de orden superior, sintaxis @decorator, functools.wraps, ejemplo @timeit.~14 min