Основы языка: Python
Основы языка Python для backend-разработчика с нуля: синтаксис и типы, структуры данных, функции и модули, ООП, исключения и контекстные менеджеры, итераторы и генераторы, аннотации типов, инструменты.
Первая фаза программы — сам язык Python, до фреймворков. С нуля и простыми словами: динамическая типизация и синтаксис, встроенные структуры данных, функции и модули, ООП по-питоновски, исключения и контекстные менеджеры, ленивые итераторы и генераторы, аннотации типов и инструменты окружения. Читать лучше по порядку.
- Синтаксис и типы Python: с чего начать — Разбираем базовый синтаксис Python: отступы вместо скобок, динамическая типизация, базовые типы, f-строки и чем изменяемые объекты отличаются от неизменяемых.
- Структуры данных Python: list, tuple, dict, set — Когда брать list, tuple, dict или set, как работают срезы и comprehensions, распаковка и сортировка по ключу — базовые приёмы работы с коллекциями в Python.
- Функции и модули в Python: аргументы, замыкания, import — Как объявлять функции, передавать позиционные и именованные аргументы, *args/**kwargs, что такое область видимости и замыкания, как устроены модули, import и name.
- ООП в Python: классы, наследование и дандер-методы — Классы, init и self, наследование и миксины, дандер-методы, duck typing, @property и dataclass — и как понять, когда нужен класс, а когда хватит функции.
- Исключения и контекстные менеджеры в Python — Как устроены исключения в Python: try/except/else/finally, иерархия, свои классы ошибок и почему нельзя их глотать. Контекстные менеджеры и with.
- Итераторы и генераторы в Python: ленивая обработка данных — Как работает протокол итератора, зачем нужны генераторы и yield, генераторные выражения и itertools — и почему это экономит память при потоковой обработке.
- Аннотации типов в Python — Зачем типизация в динамическом языке, как писать аннотации, что даёт typing и mypy, почему подсказки типов не влияют на выполнение программы.
- Инструменты Python: интерпретатор, venv, pip и pyproject.toml — Как устроена рабочая среда Python: интерпретатор и версии, виртуальные окружения venv, pip и зависимости, pyproject.toml, форматтеры ruff и black, запуск скриптов и модулей.