На этом курсе начинают с основ языка Python. Слушатели узнают о преимуществах этого языка и его особенностях. Учатся запускать скрипты и выполнять код. Разбирают базовые структуры управления, синтаксис функций и работу с модулями. На практике осваивают инструменты pip, virtualenv и pipenv для создания изолированных сред.
Далее курс охватывает все основные типы данных в Python. Это числа, строки, словари и множества. Ученики научатся приводить типы и работать со строковыми данными. Затем переходят к спискам, срезам и разнице между изменяемыми и неизменяемыми объектами. Практика включает работу с последовательностями в управляющих конструкциях и методы копирования объектов.
Здесь ученики осваивают операции ввода-вывода. Учатся работать с файлами, путями и папками. Узнают о коммуникации с внешними процессами и анализе аргументов командной строки. На практике создают собственный сервис для отслеживания файлов, ищут информацию в файлах и разрабатывают приложение для отправки сообщений.
Этот блок посвящен расширенным инструментам языка. Рассматривают обработку ошибок, lambda-выражения и менеджеры контекста. Особое внимание уделяют генераторам - их созданию и отличиям от обычных последовательностей. Практические задания включают сбор статистики памяти, использование map, reduce, filter и написание собственных генераторов.
Сначала ученики осваивают регулярные выражения - их элементы и варианты использования. Практикуются на анализе текста, в частности банковских чеков. Затем переходят к профессиональным инструментам: документированию кода, аннотации типов, тестированию, логированию и отладке. На практике пишут тесты, отлаживают код и документируют модули с автогенерацией документации.
Эта часть охватывает дополнительные возможности Python. Изучают декораторы и объектно-ориентированное программирование. Разбирают основы ООП, магические методы, инкапсуляцию и наследование. Осваивают работу с dataclass и перечислениями. На практике создают классы-менеджеры контекста, используют декораторы классов и применяют магические методы.
Завершающие модули посвящены работе с данными и веб-разработке. Ученики изучают сериализацию в JSON и XML, работу с базами данных через DB-API. Осваивают обработку текстов с помощью шаблонизатора Jinja2. Затем переходят к созданию веб-серверов, изучают HTTP-запросы и REST API. На практике публикуют файлы через HTTP и создают простые веб-страницы.
Последний блок учит получать данные из интернета. Слушатели осваивают отправку HTTP-запросов, парсинг веб-страниц с помощью BeautifulSoup и работу с открытыми API. Практические задания включают получение прогноза погоды, отправку сообщений в Telegram, чтение данных с HackerNews и создание клиента для поиска фильмов в TheMovieDB.
Занятия проходят в вечернее время, что удобно для тех, кто работает днем. Обучение строится на практике с реальными проектами. Слушатели получают поддержку во время обучения и после его завершения. После успешного окончания курса выдается свидетельство.