Official docs outline
20 sections- Control flow
if, for, while, range, break/continue, loop else clauses, and structural pattern matching with match statements.
- Built-in data structures
Lists, tuples, sets, dicts, comprehensions, unpacking, sequence comparison and looping techniques.
- Defining functions
def, default/keyword/positional-only arguments, *args and **kwargs, lambdas, docstrings and annotations.
- Modules and packages
import statements, module search path, __name__ == '__main__', packages, __init__.py and relative imports.
- Input, output and files
f-strings, str.format, reading and writing files, with statements, and JSON serialization.
- Errors and exceptions
try/except/else/finally, raising, exception chaining, custom exceptions, exception groups and cleanup actions.
- Classes and objects
Class definitions, instances, methods, class vs instance variables, inheritance, multiple inheritance, name mangling.
- Scopes and namespaces
LEGB name resolution, global and nonlocal, closures, and how namespaces bind names to objects.
- Iterators and generators
The iterator protocol, __iter__/__next__, generator functions, yield, and generator expressions.
- Virtual environments and packages
venv, pip, dependency isolation and installing third-party packages.
- Standard library tour
os, sys, re, math, datetime, logging, threading, collections-style helpers and other batteries-included modules.
- Data model
Special (dunder) methods, object identity and types, operator overloading, descriptors, slots, metaclasses, context-manager protocol.
- Execution model
Code blocks, name binding and resolution, scoping rules, and exception handling at the interpreter level.
- The import system
Finders and loaders, sys.path, sys.modules caching, namespace packages and import hooks.
- Decorators and context managers
Function and class decorators, functools.wraps, with statements, __enter__/__exit__ and contextlib.
- Descriptors and properties
The descriptor protocol behind property, classmethod, staticmethod, bound methods and attribute lookup.
- Type hints and typing
Annotations, generics, Protocol, TypedDict, Optional/Union, TypeVar, Callable, and static type checking.
- Dataclasses
The @dataclass decorator, generated __init__/__repr__/__eq__, frozen and slotted dataclasses, default factories.
- Threads, processes and the GIL
threading, multiprocessing, concurrent.futures, the global interpreter lock, and choosing between concurrency models.
- Asynchronous programming with asyncio
Event loop, coroutines, async/await, tasks, gather and TaskGroup, async iterators and synchronization primitives.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.
Versions and support
6 release lines| Line | Released | Latest | Support |
|---|---|---|---|
| 3.15 | Oct 9, 2026 | 3.15.2 | Until Oct 31, 2031 |
| 3.14 | Oct 7, 2025 | 3.14.10 | Until Oct 31, 2030 |
| 3.13 | Oct 7, 2024 | 3.13.18 | Until Oct 31, 2029 |
| 3.12 | Oct 2, 2023 | 3.12.16 | Until Oct 31, 2028 |
| 3.11 | Oct 24, 2022 | 3.11.18 | Until Oct 31, 2027 |
| 3.10 | Oct 4, 2021 | 3.10.22 | Ended Oct 1, 2026 |
Source: endoflife.date