Temario Curso Python: 11 Módulos con Código Real | El Pythonista

Lo que vas a aprender.
Módulo a módulo, con código real.

Este no es el resumen de ventas. Es el contenido completo, sin filtros.

11 módulos 37+ horas de vídeo +700 actividades
El curso en menos de 2 minutos

De la primera variable al deploy en producción

Un proyecto que crece contigo

No estudias Python en abstracto. Construyes MovieTracker desde el primer día. Cada módulo añade una capa real.

v0.1
Módulo 1

Terminal básica

Variables, condiciones, input() del usuario. La app ya funciona desde el primer día.

# MovieTracker v0.1 — Módulo 1
titulo = input("Título de la película: ")
rating = float(input("Rating (0-10): "))

if rating >= 9.0:
    clasificacion = "Obra maestra"
elif rating >= 7.0:
    clasificacion = "Muy buena"
else:
    clasificacion = "Regular"

print(f"{titulo}: {clasificacion}")
v1.0
Módulos 2–3

Colección interactiva

Listas, diccionarios, funciones con validación. La app ya gestiona una colección real.

# MovieTracker v2.0 — Módulo 3
def validate_rating(rating):
    """Valida que el rating esté entre 0 y 10."""
    return 0 <= rating <= 10

def add_movie(movies, titulo, year, rating):
    """Agrega una película validada a la colección."""
    if validate_rating(rating):
        movies.append({"titulo": titulo, "year": year, "rating": rating})
        return True
    return False
v3.0
Módulo 4

Con SQLite

Archivos JSON y base de datos real. Los datos persisten entre ejecuciones.

# MovieTracker v3.0 — Módulo 4
import sqlite3, json

conn = sqlite3.connect("movietracker.db")
cursor = conn.cursor()
cursor.execute("""
    CREATE TABLE IF NOT EXISTS peliculas (
        id     INTEGER PRIMARY KEY AUTOINCREMENT,
        titulo TEXT NOT NULL,
        year   INTEGER,
        rating REAL
    )
""")
conn.commit()
v4.0
Módulos 5–6

Orientada a Objetos

Clases, herencia, excepciones. El código se vuelve reutilizable y profesional.

# MovieTracker v4.0 — Módulo 5
class Movie:
    def __init__(self, title, year, rating, director):
        self.title = title
        self.rating = rating
        self.added_at = datetime.now()

    def classify(self):
        if self.rating >= 9.0:
            return "🌟 Masterpiece"
        elif self.rating >= 8.0:
            return "⭐ Excellent"
        return "👍 Good"

    def __str__(self):
        return f"{self.title} ({self.year}) — {self.rating}/10"
v5.5
Módulos 7–9

API REST

Flask, JWT, pytest, organización profesional. La app ya tiene API.

# MovieTracker v5.5 — Módulo 8
from flask import Flask, jsonify, request

app = Flask(__name__)

@app.get("/peliculas")
def listar():
    return jsonify(peliculas), 200

@app.post("/peliculas")
def agregar():
    data = request.get_json()
    peliculas.append(data)
    return jsonify(data), 201

@app.delete("/peliculas/<int:pelicula_id>")
def eliminar(pelicula_id):
    return jsonify({"deleted": pelicula_id}), 200
PROD
Módulos 10–11

En producción

DigitalOcean, Gunicorn, Nginx. Tu proyecto real accesible en internet.

# gunicorn_config.py — Módulo 10
import os

bind = "0.0.0.0:8000"
workers = (2 * os.cpu_count()) + 1
timeout = 120

# $ gunicorn app:app --config gunicorn_config.py
# → MovieTracker en https://tudominio.com ✓

Los 11 módulos en detalle

Con las horas reales de vídeo de cada módulo y lo que construyes en él.

M0

Bienvenida y setup

45 min
  • Instalar Python y configurar PyCharm
  • Primer script: hola mundo sin miedo
  • Cómo está organizado el curso
  • Qué vas a construir módulo a módulo
# Tu primer Python
print("Hola, mundo")
print("Empieza MovieTracker")
M1

Variables y primeros pasos

4h 20 min
  • Variables, tipos de datos, type()
  • F-strings, operadores, input()
  • Condicionales if/elif/else
  • MovieTracker v0.1 funcionando en terminal
titulo = input("Título: ")
rating = float(input("Rating: "))
print(f"{titulo}: {rating}/10")
M2

Bucles y estructuras de datos

4h 50 min
  • Bucles for y while
  • Listas, tuplas, sets
  • Diccionarios: la estructura clave del curso
  • List comprehensions y filtros
peliculas = []
for p in peliculas:
    if p["rating"] >= 8:
        print(p["titulo"])
M3

Funciones

3h 30 min
  • def, parámetros, valores por defecto
  • return, scope, funciones anidadas
  • Docstrings y buenas prácticas
  • MovieTracker modularizado con funciones
def add_movie(movies, titulo, rating):
    """Agrega película si el rating es válido."""
    if 0 <= rating <= 10:
        movies.append({"titulo": titulo, "rating": rating})
M4

Persistencia

3h 15 min
  • Leer y escribir archivos: open(), context managers
  • JSON y CSV: guardar datos reales
  • SQLite desde Python con sqlite3
  • MovieTracker con base de datos real
with open("datos.json", "w") as f:
    json.dump(peliculas, f, indent=2)
M5

Programación Orientada a Objetos

3h 45 min
  • Clases, __init__, atributos y métodos
  • Herencia y polimorfismo
  • Encapsulación y propiedades
  • MovieTracker refactorizado con clases
class Movie:
    def __init__(self, titulo, year, rating):
        self.titulo = titulo
        self.rating = rating
M6

Excepciones

2h 30 min
  • try/except/finally: capturar errores
  • raise: lanzar excepciones propias
  • Excepciones personalizadas con herencia
  • Código robusto que no falla en producción
class InvalidRatingError(ValueError):
    pass

try:
    movie.set_rating(11)
except InvalidRatingError as e:
    print(e)
M7

Módulos y Paquetes

2h 45 min
  • import, módulos propios, __init__.py
  • Entornos virtuales con venv
  • Estructura de proyectos profesional
  • MovieTracker como paquete instalable
# movietracker/models.py
from .database import db
from .validators import validate_rating
M8

Flask

4h 15 min
  • Rutas, request, jsonify, blueprints
  • Flask-SQLAlchemy: modelos y migraciones
  • API REST completa con CRUD
  • MovieTracker como API lista para consumir
@app.post("/peliculas")
def agregar():
    data = request.get_json()
    return jsonify(data), 201
M9

APIs y Testing

3h 20 min
  • Consumir APIs externas con requests
  • Testing con pytest y fixtures
  • Autenticación JWT paso a paso
  • API con login, tokens y rutas protegidas
def test_agregar_pelicula(client):
    resp = client.post("/peliculas", json={"titulo": "Oppenheimer"})
    assert resp.status_code == 201
M10

Deploy

4h 10 min
  • Git desde cero: commits, ramas, GitHub
  • DigitalOcean: servidor Linux real
  • Gunicorn + Nginx en producción
  • MovieTracker accesible en tu dominio
# $ gunicorn app:app --config gunicorn_config.py
bind = "0.0.0.0:8000"
workers = (2 * os.cpu_count()) + 1
BONUS

Proyecto Final

3h 30 min
  • Relaciones en base de datos: usuarios y listas
  • Optimización de consultas SQL
  • Frontend React básico conectado a la API
  • Deploy VPS completo: MovieTracker v1.0 PROD
# MovieTracker v1.0 — En producción
# https://tudominio.com ✓

No es solo vídeo. Cada módulo tiene ejercicios y tests interactivos.

El código lo aprendes haciéndolo, no mirándolo.

Ejercicios de código

Problemas con solución incluida para practicar inmediatamente después de cada lección. Haz, falla, corrige y entiende.

Tests por módulo

Preguntas de opción múltiple al final de cada módulo para consolidar los conceptos clave antes de avanzar.

Mini-retos extra

Ejercicios adicionales para los que quieren ir más lejos. Opcionales, pero los que los hacen notan la diferencia.

+700 actividades en total — ejercicios, tests y retos

Lo que suele preguntarse antes de comprar

¿Está todo el contenido disponible desde el primer día?

Los módulos 1 al 6 están disponibles inmediatamente al entrar. Los módulos 7 al 11 se desbloquean progresivamente (drip feed) según avanzas, para no agobiarte con demasiado material de golpe. El ritmo está diseñado para que llegues a cada módulo cuando de verdad lo necesitas.

¿Cuánto tiempo necesito a la semana?

Con 2-3 horas semanales completas el curso en 4-5 meses. No hay fechas límite: el acceso es de por vida. Si tienes una semana de locura, no pasa nada. Si tienes tiempo de sobra, puedes ir más rápido.

¿Qué nivel necesito para empezar?

Cero. El módulo 0 parte de instalar Python y PyCharm desde una máquina vacía. Si ya sabes algo de programación, avanzarás más rápido en los primeros módulos, pero el proyecto MovieTracker te mantendrá ocupado desde el principio.

Ya has visto el contenido real.

Si lo que ves te convence, entrar es sencillo.

147€
Pago único Acceso de por vida Garantía 14 días
Acceder al Curso Ahora

Sin suscripción. Sin cargos ocultos.
Si en 14 días no es lo que esperabas, te devuelvo el dinero.