Темы в порядке чтения — от основ к продвинутым и версионным фичам. Каждая тема построена как «вопрос → ответ»: Коротко — модель устного ответа, дальше разбор, рабочий пример с выводом, Подвох и Глубже.
Черновые темы, которых здесь ещё нет, — в topics/.
- Типы данных — mutable/immutable, передача аргументов, хешируемость
- Truthy and Falsy —
__bool__vs__len__ - int — произвольная точность, деление с отрицательными
- float — IEEE 754,
0.1 + 0.2,nan, округление - str — Unicode, PEP 393, f-строки и t-строки
- bool — подкласс
int, что возвращаютand/or - Область видимости: LEGB, замыкания, late binding —
nonlocal/global, ячейки - Функциональный стиль —
*args/**kwargs,map/filter/reduce,partial - Walrus-оператор и позиционно-только параметры —
python 3.8+ - Декораторы —
wraps, порядок, типизация черезParamSpec - Пример: bound methods, classmethod, staticmethod своими руками — протокол дескрипторов
- ООП вглубь — MRO и
super(), дескрипторы,__slots__, метаклассы,__eq__/__hash__ - Управление памятью — refcounting, GC,
weakref, copy/deepcopy,isvs== - Итератор — iterable vs iterator, лень, свой итератор
- Генератор —
yield from,send/throw/close, PEP 479 - Comprehensions и генераторные выражения — лень, память, PEP 709
- Модуль
itertools—chain,islice,groupby, комбинаторика - Модуль
collections—defaultdict,Counter,deque,namedtuple - Сортировка —
sorted()vssort(),key, стабильность, Timsort - Контекстные менеджеры — протокол,
contextlib - match / case (сопоставление с образцом) —
python 3.10+ - Исключения — иерархия,
try/except/else/finally,raise ... from ... - Группы исключений:
except*иExceptionGroup—python 3.11+ - GIL и конкурентность — threading / multiprocessing / asyncio, корутины и event loop
asyncio.TaskGroup—python 3.11+- Базовый
typing—Optional,Literal,TypedDict,Protocol - Тайпинг: дженерики,
Self,override, отложенные аннотации —python 3.11-3.14 tomllib—python 3.11+- Классы:
dataclasses,enum.StrEnum—python 3.10-3.11 - CPython без GIL: free-threading, JIT, суб-интерпретаторы —
python 3.13+ - Инструменты разработчика: ошибки, REPL, отладка —
python 3.10+