Программа предназначена для опытных пользователей Python, стремящихся глубже понять внутренние механизмы языка. Слушатели осваивают продвинутые конструкции — декораторы, генераторы, многопоточность, асинхронное программирование, метапрограммирование, а также методы повышения производительности. Рассматриваются регулярные выражения, профилирование кода, управление памятью, логирование и ускорение вычислений с помощью Cython и Numba.
Обучение проходит онлайн в составе учебной группы по расписанию. Каждая тема сопровождается практической работой, направленной на отработку приёмов, применяемых в реальных проектах и высоконагруженных системах.
Документ по окончании
📜 Удостоверение о повышении квалификации – для слушателей с высшим или средним профессиональным образованием.
📜 Сертификат о прохождении обучения – для всех остальных участников.
Содержание
- 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
- Опыт работы с классами, функциями и базовыми структурами данных
- Установленная среда разработки (рекомендации даются в начале курса)
Особенности
- Углублённое изучение многопоточности, async и метаклассов
- Генераторы, декораторы и introspection
- Оптимизация кода с использованием Cython и Numba
- Профилирование, логирование, регулярные выражения
- Работа с памятью и потоковой обработкой данных
Целевая аудитория
- Python-разработчики, работающие с крупными проектами
- Инженеры по данным и системные программисты
- Разработчики backend и высоконагруженных сервисов
- Специалисты, оптимизирующие производительность Python-кода