Что такое ООП?
Объектно-ориентированная ппрограммирование(ООП) - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования (Википедия)
В основе ООП лежит простая и элегантная идея, в соответствии с которой главное в программе - это данные. Именно они определяют, какие методы будут использоваться для их обработки. Т. е. данные первичны, код для обработки этих данных - вторичен.
ООП опирается на основные принципы:
• Данные структурируются в виде объектов, каждый из которых имеет определенный тип, то есть принадлежит к какому-либо классу.
• Классы – результат формализации решаемой задачи, выделения главных ее аспектов.
• Внутри объекта инкапсулируется логика работы с относящейся к нему информацией.
• Объекты в программе взаимодействуют друг с другом, обмениваются запросами и ответами.
• При этом объекты одного типа сходным образом отвечают на одни и те же запросы.
• Объекты могут организовываться в более сложные структуры, например, включать другие объекты или наследовать от одного или нескольких объектов.
Язык Python – типичный представитель ООП-семейства, обладающий элегантной и мощной объектной моделью.
Цель курса
Изучить более продвинутые инструменты, библиотеки и возможности языка Python
Аудитория
• программисты
• аналитики
Предварительная подготовка:
• Знания в рамках курса Программирование на языке Python. Уровень 1. Базовый курс
После окончания курса выпускники будут уметь
• решать определенные задачи при помощи стандартных средств языка Python
• выполнять простую обработка текста без регулярных выражений
• создавать собственные классы;
• оценивать сложность алгоритма;
• работать с многомерными массивами данных
• использовать важнейшие стандартные структуры данных;
• использовать модуль Matplotlib для визуализации данных
• создавать собственные структуры данных на основе стандартных.
Модуль 1 Реализация ООП на Python.
1.1. Атрибуты и методы.
1.2. Инкапсуляция.
1.3. Создание классов.
2. Модуль 2 Особенности ООП на Python
2.1. Полиморфизм.
2.2. Определение операторов.
2.3. Наследование.
2.4. Проектирование и разработка классов.
3. Модуль 3 Модуль NumPy: работа с многомерными массивами и линейная алгебра. Модуль Matplotlib: визуализация данных.
3.1. Модуль NumPy: многомерные массивы. Типы элементов. Создание массивов. Сохранение/загрузка массивов
3.2. Модуль NumPy: Важные функции для работы с массивами. Линейная алгебра
3.3. Модуль Matplotlib: Виды графиков: plot, scatter, bar, hist, contour, и др.
3.4. Модуль Matplotlib: Цветовые карты, работа с изображениями как с массивами данных
4. Модуль 4 Модуль Pandas: работа с таблицами, загрузка и анализ данных.
4.1. Модуль Pandas: Работа с элементами Series и DataFrame.
4.2. Модуль Pandas: Загрузка из CSV, XLS, HDF5
4.3. Модуль Pandas: Доступ к данным. Статистические методы
4.4. Модуль Pandas: Группировка, агрегирование и сводные таблицы
5. Модуль 5 Анализ временных рядов. Методы сбора внешних данных. Введение в веб программирование.
5.1. Анализ временных рядов: Базовые диаграммы, диаграмма размаха для анализа сезонности
5.2. Методы сбора внешних данных: API, протокол HTTP, модули Requests и Beautiful Soup
5.3. Введение в веб программирование:
5.3.1. Работа с текстовыми и табличными данными: форматы JSON, csv
5.3.2. Основы SQL
5.3.3. Модуль SQLite
5.3.4. PostgreSQL
5.3.5. Сетевые запросы c помощью curl
5.3.6. Введение во Flask