Python
Python 3.14 from a first program to production code: values, control flow, functions, data structures, files, classes, typing, testing and asyncio.
Written for Python 3.14.8 and Pyodide 314.0.7.
Who it is for
First-time programmers, students preparing for exams and coding interviews, and working developers who need modern Python (typing, async, packaging, testing).
What you will be able to do
- Write, run and debug Python 3.14 programs from a terminal, an editor and the browser
- Use the built-in types and data structures, and choose the right one for a task
- Structure programs with functions, modules, packages and classes
- Read and write files and common data formats such as CSV and JSON
- Handle errors with exceptions and test code with doctest, unittest and pytest
- Add type hints and check them with a static type checker
- Write concurrent code with threads, processes and asyncio, and know when each helps
- Package, publish and profile a Python project
Planned outline
- Module 1
Getting started: install, run and read Python
Coming soonWhat Python is, installing 3.14, the REPL and scripts, editors and the in-browser runner, virtual environments, uv, and reading tracebacks.
- Module 2
Values, variables, numbers and strings
Coming soonNames and objects, integers and floats, booleans and None, operators, strings and f-strings, input and output, and type conversion.
- Module 3
Control flow: decisions, loops and pattern matching
Coming soonif, while and for, loop helpers such as range, enumerate and zip, match and case, and debugging with breakpoint() and pdb.
- Module 4
Functions, scope, closures and decorators
Coming soonEvery kind of parameter, scope rules, lambdas and higher-order functions, closures, recursion, decorators and functools.
- Module 5
Built-in data structures: lists, dicts, sets and more
Coming soonLists, tuples, dictionaries and sets, copying and aliasing, sorting, comprehensions, the collections module, text and bytes.
- Module 6
Modules, packages and the standard library
Coming soonImports and packages, installing third-party packages, a tour of the standard library, random numbers, exact arithmetic, dates and time zones.
- Module 7
Errors, exceptions and context managers
Coming soontry and except, custom exceptions, chaining and notes, exception groups, the with statement, warnings and assertions.
- Module 8
Files, paths and data formats
Coming soonText and binary files, pathlib, CSV, JSON, configuration and secrets, archives, XML, safe serialisation and SQLite.
- Module 9
Object-oriented Python and the data model
Coming soonClasses and methods, properties, inheritance and composition, abstract base classes, special methods, enums and dataclasses.
- Module 10
Iterators, generators and functional tools
Coming soonThe iteration protocol, generators and pipelines, itertools, the built-in functions and a functional style in Python.
- Module 11
Type hints and static type checking
Coming soonAnnotations, running a type checker, generics, protocols, TypedDict and Literal, narrowing, overloads and annotations at run time.
- Module 12
Testing, debugging and code quality
Coming soondoctest, unittest and pytest, fixtures and mocks, property-based tests, coverage and CI, and linting and formatting.
- Module 13
Packaging, publishing and distributing Python code
Coming soonWheels and source distributions, pyproject.toml, entry points, versions and lock files, publishing to PyPI and supply-chain security.
- Module 14
Concurrency and parallelism: threads, processes, interpreters
Coming soonThe GIL, threads and synchronisation, subprocesses, multiprocessing, concurrent.futures, free-threaded builds and subinterpreters.
- Module 15
Async programming with asyncio
Coming soonThe event loop, tasks and TaskGroup, timeouts and cancellation, async iterators, queues, streams and mixing blocking code with async.
- Module 16
Practical Python: text, CLIs, web, automation and security
Coming soonRegular expressions, template strings, logging, argparse, the operating system, web APIs and servers, automation and secure coding.
- Module 17
Performance, profiling and debugging in depth
Coming soonMeasuring with timeit, profiling CPU time and memory, proven speed-ups, when to reach for NumPy or C, bytecode and advanced debugging.
- Module 18
Advanced Python: data model, metaprogramming and internals
Coming soonAttribute lookup, descriptors, metaclasses, introspection, the ast module, the import system and memory management.
- Module 19
Python for coding interviews and online assessments
Coming soonInput and output for coding rounds, the cost of built-in operations, the standard-library toolkit for problems, puzzles and interview concepts.
- Module 20
What's new in Python 3.15
Coming soonWritten after Python 3.15 is released, when every example has been run on it.
- Module 21
Python everywhere: data, web, AI and next steps
Coming soonFirst steps with NumPy and notebooks, Python on the web, calling APIs safely, MicroPython, and what to learn next.
- Module 22
Capstone projects
Coming soonFour projects that pull the track together, a command-line tool, a data cleaner, an async HTTP client and a small interpreter.
Related tools
Official documentation
- The Python Tutorial (Python Software Foundation)
- The Python Standard Library (Python Software Foundation)
- What's New in Python 3.14 (Python Software Foundation)
- Python Packaging User Guide (Python Packaging Authority)
More in Programming languages
- SQL (PostgreSQL, MySQL, SQLite) (coming soon)
- JavaScript (ES2026) (coming soon)
- Java (JDK 25 LTS) (coming soon)
- C++ (C++23 with C++26 previews) (coming soon)
- All Languages tracks
- How we make lessons