Course Index

20 lessons · ~6–8 hours total · Interactive quizzes throughout

Mission
Your Mission
Go from JavaScript to idiomatic Python as fast as possible

Each lesson assumes you already know programming. We bridge from JS — no basics recap.

All Lessons

01
Python Mental Model for JS Developers
Syntax map, indentation, truthiness, lists, dicts, list comprehensions
Start here
02
Functions, Modules & Scope
def, *args, **kwargs, default args, LEGB scope, imports, __main__
03
Classes & OOP
class, __init__, self, dunder methods, inheritance, @property, dataclasses
04
Error Handling
try/except/else/finally, exception hierarchy, raising, EAFP vs LBYL
05
File I/O & Context Managers
open(), with, pathlib, JSON, CSV, custom context managers
06
The Standard Library
os, sys, subprocess, datetime, collections, itertools, re, functools
07
Virtual Environments & pip
venv, pip, requirements.txt, pyproject.toml, uv, ecosystem map
08
Decorators
@decorator, @wraps, decorator factories, logging, retry, memoize patterns
09
Iterators & Generators
__iter__, __next__, yield, generator expressions, yield from, pipelines
10
Async Python
asyncio, async/await vs JS, tasks, gather, aiohttp, blocking code
Filling the gaps
11
Sets, Comprehensions & Built-ins
set ops, dict/set comprehensions, zip, sorted, any/all, walrus operator
12
Type Hints
annotations, list[T], TypedDict, Protocol, Callable, TypeVar, mypy
13
Testing with pytest
fixtures, parametrize, mocking, coverage — the Jest of Python
Real-world skills
14
HTTP Requests
requests, httpx, sessions, timeouts, error handling, Pydantic parsing
15
Logging
logging module, levels, handlers, formatters, structured logging
16
Pattern Matching & Enums
match/case (Python 3.10+), enum.Enum, IntEnum, Flag, auto()
17
Concurrency: Threading, Multiprocessing & GIL
GIL explained, ThreadPoolExecutor, ProcessPoolExecutor, when to use what
18
CLI Tools
argparse, Typer, Click, rich — building command-line programs
19
Environment & Configuration
.env files, python-dotenv, Pydantic Settings, multi-env patterns
20
Debugging
breakpoint(), pdb, reading tracebacks, VS Code debugger, profiling
Final lesson