Расширенное программирование на языке Python
На курсе слушатели получат навыки объектно-ориентированного программирования, познакомятся с базовыми элементами языка Python, а также научатся создавать объектно-ориентированные приложения на языке Python, выполнять первичную обработку данных на языке Python, ориентироваться в стандартной библиотеке языка Python. На курсе слушатели получат необходимую подготовку для изучения проектирования пользовательского интерфейса на базе Qt/Python и веб-программирования на базе Python/Django либо Python/Flask.
Вид обучения
Формат обучения
Дата и время
Место проведения
г. Москва, ул. Золотая, д. 11, бизнес-центр «Золото», 5 этаж. Всем участникам высылается подробная схема проезда на семинар.
Документы по окончании обучения
По итогам обучения слушатели, успешно прошедшие итоговую аттестацию по программе обучения, получают Удостоверение о повышении квалификации в объеме 40 часов (в соответствии с лицензией на право ведения образовательной деятельности, выданной Департаментом образования и науки города Москвы).Что входит в стоимость
Методический материал, кофе-паузы.Для кого предназначен
Специалистов, которые хотят научиться создавать код Python на продвинутом уровне.Цель обучения
Получить знания и навыки, необходимые для разработки кода с использованием расширенных возможностей языка программирования Python, научиться работать с интерпретатором CPython и версией Python 3.5 и выше.Результат обучения
В результате обучения участники смогут:
- Использовать интерпретатор Python в различных режимах.
- Использовать различные типы данных Python.
- Описать особенности объектно-ориентированной парадигмы в языке Python.
- Создавать пользовательские классы.
- Сериализовать данные с помощью модуля pickle.
- Работать с json-данными.
- Создавать и изменять основные объекты реляционной базы данных.
- Использовать ORM (объектно-реляционное отображение).
- Создавать и изменять NoSQL базы данных.
- Определять собственные модули и пакеты.
Программа обучения
День 1.
Модуль 1. Понятие класса. Инкапсуляция (4 ак. ч.).
- Класс и экземпляр класса.
- Данные экземпляра, методы экземпляра и свойства экземпляра.
- Понятие атрибута.
- Настройка лабораторной среды,
- Создание класса, членов классов и его экземпляров.
Модуль 2. Наследование (4 ак. ч.).
- Принцип утиной типизации.
- Понятия базового класса и производного класса.
- Функция isinstance и ее применение.
- Создание производного класса.
- Применение экземпляров базового и производного класса.
День 2.
Модуль 3. Полиморфизм и абстракция (4 ак. ч.).
- Подмена методов в производном классе.
- Понятие абстрактного класса.
- Применение полиморфных классов.
Модуль 4. Алгоритмы сортировки и поиска (4 ак. ч.).
- Основные алгоритмы сортировки и поиска.
- Понятие сложности алгоритма.
- Поиск информации по заданному критерию.
День 3.
Модуль 5. Алгоритмы поиска на графах (4 ак. ч.).
- Поиск в ширину.
- Поиск в глубину.
- Построение пути в графе.
Модуль 6. Структуры данных (4 ак. ч.).
- Понятие о структуре данных.
- Список и запись как основные структуры данных.
- Таблица и другие практически важные структуры данных.
- Представление записей и таблиц в программе на языке Python.
- Создание и изменение основных объектов реляционной базы данных.
- Использование ORM на примере SQLAlchemy.
- Создание и изменение нереляционной базы данных.
День 4.
Модуль 7. Стандартные абстрактные типы данных (4 ак. ч.).
- Контейнерные типы.
- Библиотечные модули collections и collections.abc.
- Схема «Компонент-Контейнер» и ее применение.
Модуль 8. Хранение данных вне программы (4 ак. ч.).
- Сохранение и восстановление данных. Библиотечный модуль pickle.
- Понятие об объектно-реляционном соответствии.
- Применение модуля pickle для хранения и передачи данных.
День 5.
Модуль 9. Практическая работа (4 ак. ч.).
- Обработка XML-документа.
- Комплектование и обработка заказа.
- Игра в шахматы, танки, морской бой (программная часть).
- Веб-скрейпинг.
- Составление расписания учебных занятий.
- Написание игрового сервера.
- Обработка видео с использованием внешнего ПО.
Модуль 10. Завершение выполнения практических проектов для портфолио (4 ак.ч).
- Программирование чат-сервера с поддержкой эмодзи.
- Программирование веб приложения в виде П1-4 (Flask).
- Программирование блог-сервера (Flask).
- Программирование менеджера файлов (PyQT).
- Программирование web-браузера PyQT с доп. функциями (закладки, просмотр исходного текста т.п.).