Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Programming languages

Python

Python 3.14 from a first program to production code: values, control flow, functions, data structures, files, classes, typing, testing and asyncio.

Coming soon 22 modules

Written for Python 3.14.8 and Pyodide 314.0.7.

Coming soon. This track is being written. Below is its planned outline: a lesson appears here once its examples have been run and its technical review is signed off.

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

  1. Module 1

    Getting started: install, run and read Python

    Coming soon

    What Python is, installing 3.14, the REPL and scripts, editors and the in-browser runner, virtual environments, uv, and reading tracebacks.

  2. Module 2

    Values, variables, numbers and strings

    Coming soon

    Names and objects, integers and floats, booleans and None, operators, strings and f-strings, input and output, and type conversion.

  3. Module 3

    Control flow: decisions, loops and pattern matching

    Coming soon

    if, while and for, loop helpers such as range, enumerate and zip, match and case, and debugging with breakpoint() and pdb.

  4. Module 4

    Functions, scope, closures and decorators

    Coming soon

    Every kind of parameter, scope rules, lambdas and higher-order functions, closures, recursion, decorators and functools.

  5. Module 5

    Built-in data structures: lists, dicts, sets and more

    Coming soon

    Lists, tuples, dictionaries and sets, copying and aliasing, sorting, comprehensions, the collections module, text and bytes.

  6. Module 6

    Modules, packages and the standard library

    Coming soon

    Imports and packages, installing third-party packages, a tour of the standard library, random numbers, exact arithmetic, dates and time zones.

  7. Module 7

    Errors, exceptions and context managers

    Coming soon

    try and except, custom exceptions, chaining and notes, exception groups, the with statement, warnings and assertions.

  8. Module 8

    Files, paths and data formats

    Coming soon

    Text and binary files, pathlib, CSV, JSON, configuration and secrets, archives, XML, safe serialisation and SQLite.

  9. Module 9

    Object-oriented Python and the data model

    Coming soon

    Classes and methods, properties, inheritance and composition, abstract base classes, special methods, enums and dataclasses.

  10. Module 10

    Iterators, generators and functional tools

    Coming soon

    The iteration protocol, generators and pipelines, itertools, the built-in functions and a functional style in Python.

  11. Module 11

    Type hints and static type checking

    Coming soon

    Annotations, running a type checker, generics, protocols, TypedDict and Literal, narrowing, overloads and annotations at run time.

  12. Module 12

    Testing, debugging and code quality

    Coming soon

    doctest, unittest and pytest, fixtures and mocks, property-based tests, coverage and CI, and linting and formatting.

  13. Module 13

    Packaging, publishing and distributing Python code

    Coming soon

    Wheels and source distributions, pyproject.toml, entry points, versions and lock files, publishing to PyPI and supply-chain security.

  14. Module 14

    Concurrency and parallelism: threads, processes, interpreters

    Coming soon

    The GIL, threads and synchronisation, subprocesses, multiprocessing, concurrent.futures, free-threaded builds and subinterpreters.

  15. Module 15

    Async programming with asyncio

    Coming soon

    The event loop, tasks and TaskGroup, timeouts and cancellation, async iterators, queues, streams and mixing blocking code with async.

  16. Module 16

    Practical Python: text, CLIs, web, automation and security

    Coming soon

    Regular expressions, template strings, logging, argparse, the operating system, web APIs and servers, automation and secure coding.

  17. Module 17

    Performance, profiling and debugging in depth

    Coming soon

    Measuring with timeit, profiling CPU time and memory, proven speed-ups, when to reach for NumPy or C, bytecode and advanced debugging.

  18. Module 18

    Advanced Python: data model, metaprogramming and internals

    Coming soon

    Attribute lookup, descriptors, metaclasses, introspection, the ast module, the import system and memory management.

  19. Module 19

    Python for coding interviews and online assessments

    Coming soon

    Input and output for coding rounds, the cost of built-in operations, the standard-library toolkit for problems, puzzles and interview concepts.

  20. Module 20

    What's new in Python 3.15

    Coming soon

    Written after Python 3.15 is released, when every example has been run on it.

  21. Module 21

    Python everywhere: data, web, AI and next steps

    Coming soon

    First steps with NumPy and notebooks, Python on the web, calling APIs safely, MicroPython, and what to learn next.

  22. Module 22

    Capstone projects

    Coming soon

    Four 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

More in Programming languages

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.