Программа курса
Современные инструменты Python
- Аннотации типов и их польза для больших проектов.
- Докстринги и документация по коду.
- Лучшие практики оформления кода.
Функциональный Python и структуры данных
- Декораторы и принципы повторного использования кода.
- Лямбда-функции, map(), filter(), reduce().
- Генераторы списков и словарей.
- Продвинутые сортировки данных
- Стек, очередь и их практическое применение.
Работа с данными и оптимизация
- Обработка больших наборов данных: подходы и ограничения.
- Введение в polars и обработку больших массивов данных
- Использование встроенных и внешних библиотек (например, itertools).
- Кеширование: зачем и где использовать (functools.lru_cache).
- Хеширование: принципы, применение, встроенные структуры (dict, set).
Тестирование и надежность кода
- Основы модульного тестирования: unittest, pytest.
- Организация тестов в проекте.
Асинхронность и многопроцессность
- Синхронные vs асинхронные задачи.
- Основы async/await и asyncio.
- Многопроцессность и multiprocessing.
- Обзор библиотек для асинхронной работы и распределённых вычислений.