Saltar al contenido principal
eLearner.app

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

4 lecciones

Los fundamentos: declarar variables, reconocer tipos, realizar cálculos, tomar decisiones e imprimir en consola.

  1. 1.1Variables y tiposDar un nombre a un valor, descubrir el tipo con type(), conocer int / float / str / bool / None.~10 min
  2. 1.2OperadoresAritmética (incluidos // y **), comparación, lógica booleana con and / or / not, precedencia.~10 min
  3. 1.3Condicionales: if, elif, elseEjecutar código diferente según una condición; el papel de la indentación.~10 min
  4. 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

4 lecciones

Repetir, saltar, gestionar errores: los constructos que hacen reaccionar al programa ante los datos y los problemas.

  1. 2.1Bucles for y rangeIterar sobre una secuencia con for, generar intervalos numéricos con range(start, stop, step).~10 min
  2. 2.2Bucles whileRepetir mientras una condición siga siendo verdadera; cuándo preferir while en lugar de for.~8 min
  3. 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
  4. 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

4 lecciones

Las cuatro colecciones integradas: list (secuencia mutable), tuple (secuencia inmutable), dict (mapa clave-valor) y set (colección de elementos únicos).

  1. 3.1ListasCrear, acceder por índice y slice, añadir y eliminar, ordenar. La secuencia que usarás más a menudo.~12 min
  2. 3.2Tuplas y desempaquetadoSecuencias inmutables, packing y unpacking, intercambio sin variable temporal, * para el resto.~10 min
  3. 3.3DiccionariosMapas clave→valor, acceso con [] y .get, iterar sobre keys/values/items, dict.setdefault.~12 min
  4. 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

4 lecciones

Trabajar con texto (métodos, slicing) y números (math, conversiones de tipo) de forma idiomática.

  1. 4.1Métodos de stringsLos métodos más utilizados: upper/lower, strip, split/join, replace, startswith/endswith, find/in.~12 min
  2. 4.2Slicing e indexaciónÍndices positivos y negativos, slice [start:stop:step], inversión de strings, subcadenas.~10 min
  3. 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. 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

4 lecciones

Definir funciones con def, devolver valores, gestionar parámetros por defecto, *args/**kwargs y lambda.

  1. 5.1def y returnSintaxis def, return (explícito e implícito None), parámetros posicionales, docstrings.~12 min
  2. 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
  3. 5.3*args y **kwargsFunciones con número variable de argumentos: *args recopila posicionales, **kwargs recopila keyword. Desempaquetado en llamada.~12 min
  4. 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

4 lecciones

List/dict/set comprehensions, generator expressions y las herramientas fundamentales del módulo itertools.

  1. 6.1List comprehensionSintaxis [expresión for x in iter if cond], transformación, filtrado, anidamiento.~12 min
  2. 6.2Dict y set comprehensionSintaxis {k: v for ...} y {x for ...} para construir diccionarios y conjuntos de forma declarativa.~10 min
  3. 6.3Generator expressionsSintaxis (... for ... in ...), iteración perezosa (lazy), memoria constante, sum/any/all sobre generadores.~10 min
  4. 6.4itertools esencialesLas funciones más usadas: enumerate, zip, chain, count, repeat, combinations.~12 min

07 · Módulo 7 — Clases y módulos

4 lecciones

Programación orientada a objetos en Python: clases, herencia, métodos especiales (dunder), importación y organización en módulos.

  1. 7.1Clases e instanciasclass, __init__, atributos y métodos de instancia, self, atributos de clase vs de instancia.~14 min
  2. 7.2HerenciaSubclases, super(), anulación de métodos, isinstance, MRO básico.~12 min
  3. 7.3Métodos especiales (dunder)__str__, __repr__, __eq__, __len__: integrar tus objetos con el lenguaje.~12 min
  4. 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

4 lecciones

Los módulos de la biblioteca estándar con los que te toparás cada día: json, datetime, collections, re.

  1. 8.1JSON: serialización y parseojson.dumps / json.loads, mapeo de tipos Python ↔ JSON, indent, sort_keys, default.~10 min
  2. 8.2datetime: fechas y horasdatetime.now(), date/time/datetime/timedelta, formateo con strftime, parseo con strptime, aritmética.~12 min
  3. 8.3collections: Counter y defaultdictCounter para recuentos, defaultdict para diccionarios autoinicializados, namedtuple como registro ligero.~12 min
  4. 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

4 lecciones

Las prácticas modernas de Python: type hints, dataclasses, context managers y decoradores. El código que escribes en 2025.

  1. 9.1Type hints: anotar tiposAnotaciones de parámetros y retornos, list[int] / dict[str, int], Optional, Union, introducción a mypy.~12 min
  2. 9.2dataclasses: clases de datos sin boilerplate@dataclass, field(default_factory=...), frozen=True, equivalente de __init__/__repr__/__eq__.~12 min
  3. 9.3Context managers: with y __enter__/__exit__with open(...), escribir tu propio context manager con __enter__/__exit__, contextlib.contextmanager.~12 min
  4. 9.4Decoradores: funciones que modifican funcionesFunciones de orden superior, sintaxis @decorator, functools.wraps, ejemplo @timeit.~14 min