Курс предоставляет знания и навыки, необходимые для обработки данных предприятий с помощью языка Python.
По окончании курса слушатели смогут:
- понять концепции и особенности реализации ООП на Python;
- получить знания и навыки, необходимые для работы с механизмами обмена информацией XML, JSON, SOAP, REST;
- получить опыт для разработки пользовательского интерфейса с помощью пакета PyQt5.
Аудитория
Специалисты, владеющие знаниями SQL, принципами и механизмами работы баз данных Oracle и PostgreSQL.
Для эффективного обучения на курсе, слушатели должны обладать следующими знаниями и навыками:
- знание основ объектно-ориентированного программирования (OOП).
- История развития языка Python
- Как Java «перепрыгнула» Python
- Сферы использования Python
- Сравнение Python и Java, конкуренты и сотрудники
- Инсталляция интерпретатора Python в Windows и Linux
- Обновление установки
- Механизм PIP, создание песочницы для выполнения кода приложения, конфигурация
- Добавление в песочницу дополнительных пакетов и модулей Python
- Активация и деактивация песочницы
- Выполнение приложение на языке Python
- Распределение областей памяти
- Объекты. Классы
- Типы данных языка и переменные
- Создание первого приложения
- Особенности распределения
- Типы данных языка, встроенные типы данных
- Методы обнаружения использованного пространства
- Основные встроенные типы данных языка Python
- Правила PEP8
- Подбор среды разработки приложений
- Idea и Eclipse
- Инсталляция и конфигурация среды PyCharm, Idea
- PIP-утилита и конфигурация, настройка песочницы
- Ввод новых переменных, механизмы добавления новых пакетов и модулей в песочницу
- Работа с пакетами
- Программирование
- Инкапсуляция, полиморфизм, наследование, абстракция
- Создание собственных классов, область видимости, атрибуты и методы классов, конструкторы и деструкторы
- Понятие @dataclass и механизмы заключения контрактов между классами пользователя и интерпретатором Python
- Перегрузка методов, множественное наследование, статические методы, инкапсуляция локальных переменных класса
- Определение свойств классов @property
- Функциональный подход в языке Python
- Глобальные и локальные переменные
- Замыкания в языке Python
- Передача параметров в функции и методы классов
- Именованные и позиционные параметры
- Использование * (звездочки) и ** (две звездочки)
- Лямбда-выражения, функции в качестве параметров функций
- Типы данных, контейнеры
- Три вида контейнеров: списки, словари и кортежи
- Функциональность контейнера
- Кодировка UTF-8
- Работа с основными модулями интерпретатора Python
- Модуль работы с операционной системой
- Доступ и навигация по каталогам операционной системы
- Управление файлами ОС
- Определение процесса OC
- Доступ к трем стандартным потокам операционной системы. Вызов процесса OC
- Процедура открытия файла в различных режимах
- Усечение файла, добавление данных в файл и другое
- Дополнительные модули расширения языка Python
- Взаимодействие с базой данных Oracle и PostgreSQL
- Подключение модулей к песочнице Python
- Соединение с базой данных из Python
- Основные классы взаимодействия с базой данных, Connection и Cursor
- Транзакционные механизмы взаимодействия с базой данных, особенности выполнения операций DDL, DCL, DML, SELECT и блоков кода в базе данных
- Выполнение хранимых процедур в базе данных
- Разработка конкретного примера использования распределенных транзакций в базе данных
- Управление блокировками записей в базе данных
- Управление исключительными ситуациями, которые были возбуждены базой данных
- Работа из Python с хранимыми процедурами и пакетными процедурами базы данных
- Передача параметров и возврат значений в виде ссылочных курсоров
- Доступ к потоку Oreacle dbms_pipe из Python-приложения
- Работа с большими типами данных BLOB, LOB, XMLTYPE
- Организация потоков обмена байтовыми данными
- XML-документ в Python
- Загрузка и выгрузка XML в базу данных и из неё
- Парсирование XML-документов
- Механизмы SAX и DOM в модулях xml, lxml языка Python
- Форматирование XML
- XPATH-запросы в Python
- Многопоточное программирование
- Создание потока несколькими способами
- Синхронизация потоков, проблемы обмена переменными между потоками, классы Queue и Event
- Пакет PyQt5 для разработки пользовательского интерфейса
- Использование утилиты Designer
- Использование сигналов и слотов для создания событийного управления в приложении
- Инсталляция рабочего модуля PyQt5
- Утилита Designer
- Утилиты и механизмы множественного наследования
- Доступ к серверу приложений по HTTP-протоколу
- Пример на основе сервера Wildfly, раньше JBoss
- POST, GET, DELETE и другие запросы
- Особенности выполнения транзакционных запросов через REST-сервисы
- Модуль requests
- Выполнение транзакций через REST-сервисы
- Извлечение данных и их публикация в отчетах, с использованием REST-технологий
- Простой микросервис на Python с доступом в базу данных и отправкой сообщений клиенту