Курс предназначен для разработчиков, которые хотят выйти за пределы базового синтаксиса Python и научиться использовать язык на профессиональном уровне. В программе — декораторы, генераторы, многопоточность, асинхронность, метапрограммирование, логирование, работа с памятью и ускорение кода с помощью Numba и Cython.
Преподаватель помогает адаптировать курс под специфику ваших проектов и выделить приоритетные направления для практики.
Занятия проходят по индивидуальному графику. Каждый модуль сопровождается практическими задачами, приближенными к реальным инженерным кейсам.
Документ по окончании
📜 Удостоверение о повышении квалификации – для слушателей с высшим или средним профессиональным образованием.
📜 Сертификат о прохождении обучения – для всех остальных участников.
Содержание
- 6 модуля
- 40 уроков
- 40 часов
- Блок 1. Декораторы и генераторы8
- 1.1Декораторы в Python: основы
- 1.2Практическая работа №1. Реализация базовых декораторов
- 1.3Продвинутые декораторы
- 1.4Практическая работа №2. Написание сложных декораторов с параметрами
- 1.5Генераторы и ленивые вычисления
- 1.6Практическая работа №3. Создание генераторов для обработки данных
- 1.7Потоковая обработка данных с генераторами
- 1.8Практическая работа №4. Написание генераторов для обработки файлов и потоков данных
- Блок 2. Многопоточность и асинхронность8
- 2.1Основы многопоточного программирования
- 2.2Практическая работа №5. Создание многопоточных программ
- 2.3Работа с очередями в многопоточности
- 2.4Практическая работа №6. Организация обработки данных через многопоточные очереди
- 2.5Асинхронное программирование в Python
- 2.6Практическая работа №7. Написание асинхронных программ с asyncio
- 2.7Асинхронные вызовы и Future-объекты
- 2.8Практическая работа №8. Оптимизация асинхронного кода
- Блок 3. Регулярные выражения и обработка строк4
- 3.1Основы регулярных выражений
- 3.2Практическая работа №9. Использование регулярных выражений для поиска и фильтрации данных
- 3.3Продвинутая работа с регулярными выражениями
- 3.4Практическая работа №10. Написание сложных регулярных выражений
- Блок 4. Исключения и логирование4
- 4.1Исключения: обработка ошибок
- 4.2Практическая работа №11. Создание системы обработки ошибок в приложении
- 4.3Логирование в Python
- 4.4Практическая работа №12. Внедрение логирования в Python-программу
- Блок 5. Метапрограммирование и introspection6
- 5.1Основы метапрограммирования в Python
- 5.2Практическая работа №13. Написание программы с динамическим изменением классов
- 5.3Работа с объектами и introspection
- 5.4Практическая работа №14. Инспекция классов и функций с использованием introspection
- 5.5Глубокая работа с метаклассами
- 5.6Практическая работа №15. Создание собственных метаклассов
- Блок 6. Оптимизация кода и работа с памятью10
- 6.1Оптимизация кода и профилирование
- 6.2Практическая работа №16. Анализ производительности Python-кода
- 6.3Управление памятью в Python
- 6.4Практическая работа №17. Оптимизация работы с памятью
- 6.5Использование Cython и Numba для оптимизации Python-кода
- 6.6Практическая работа №18. Оптимизация вычислений с помощью Numba
- 6.7Оптимизация потоков и асинхронности
- 6.8Практическая работа №19. Ускорение работы многопоточных приложений
- 6.9Итоговые задания по продвинутому программированию на Python
- 6.10Практическая работа №20. Финальный проект по продвинутому программированию на Python
Требования
- Уверенное знание основ Python
- Опыт написания собственных скриптов или небольших приложений
- Установленная среда разработки (рекомендации даются в начале курса)
Особенности
- Разбор продвинутых тем языка – декораторы, метаклассы, asyncio, профилирование
- Подбор тем под задачи слушателя – преподаватель адаптирует сложность и примеры
- Много практики – в фокусе — применение в реальных задачах
- Формат 1 на 1 – удобный график и глубокая проработка материала
Целевая аудитория
- Разработчики, стремящиеся углубить знания Python
- Технические специалисты, сталкивающиеся с производительностью и оптимизацией
- Специалисты по анализу данных и автоматизации
- Разработчики, готовящиеся к работе над высоконагруженными или масштабируемыми сервисами