Learn Python and run it right here
Lessons and a playground that run Python in your browser, with no account. The iPhone and iPad app opens the same projects and runs them with full CPython, offline.
def running_total():
total = 0
def add(n):
nonlocal total
total += n
return total
return add
add = running_total()
print(add(5), add(3))5 8
Ran in this browser · Pyodide 314.0.7 · exit 0
The path
All lessons1 · 10 lessonsPython foundationsValues, control flow, data structures, errors and files.2 · 9 lessonsPython deeperModules, classes, iteration, decorators, closures and typing.3 · 5 lessonsTools you work withTests, tracebacks, the debugger, logging and packaging.4 · 5 lessonsWeb and backendHTTP, JSON, URLs, WSGI, Flask and how Django routes requests.5 · 4 lessonsData and notebooksNumPy arrays, aggregates, cleaning CSV data and reproducible runs.6 · 3 lessonsWorking with AI toolsValidating model output, modelling tool calls and reviewing generated code.Practice · 20 tasksInterview tasksTwenty timed coding problems, from warm-ups to hard.
Work on one project together
Share a room by link with a person or an AI client. Edits merge live, and every run says where it ran: this browser, or an iPhone that agreed to run it.
Pythilo for iPhone and iPad
A Python IDE and the same course, with full CPython that runs offline. It opens rooms from this site and can run their code when you allow it.