1. Классы и объекты. (8 ак.ч.)
• Введение в Объектною-ориентированное программирование (ООП)
• Класс и экземпляр класса.
• Данные экземпляра, методы экземпляра и свойства экземпляра
• Создание собственного класса
• Инкапсуляция
• Атрибуты класса
• Чтение и изменение атрибута.
• Практикум: Разработка собственных классов. Определение нужных методов и свойств классов. Создание нескольких объектов
2. Наследование (4 ак.ч.)
• Роль наследования в ООП, понятие иерархии наследования
• Принцип утиной типизации
• Понятие базового класса и производного класса
• Функция isinstance и ее применение.
• Создание производного класса
• Применение экземпляров базового и производного класса.
• Практикум: Расширение готовых классов
3. Абстрактные классы и полиморфизм (4 ак.ч.)
•Полиморфизм. Принцип DRY и WET
• Понятие абстракции
• Знакомство с абстрактными классами Python
• Подмена методов в производном классе.
• Полиморфные классы
• Контейнерные типы.
• Библиотечные модули collections и collections.abc
• Применение контейнерных типов
• Практикум: Имплементация новых методов
4. Функциональное программирование. Функции декораторы (6 ак.ч.)
•Функция как объект.
• Функциональное программирование, функции map, filter, reduce.
• Лямбда-функция.
• Понятие декоратора. Полный синтаксис блока try...except
• Создание функций-декораторов.
• Практикум: Использование функций высших порядков. Пример создания декораторов.
5. Понятие исключения. Обработка исключений. Собственные исключения (6 ак.ч.)
• Что такое ошибка или исключение
• Cтек вызовов в Python. Работа с кодами возврата
• Обработка исключений
• Методики LBYL и EAFP.
• Создание пользовательских типов ошибок Конструкция assert
• Практикум: Создание собственных классов исключений
6. Записи и данных. Работа с данными SQLite (4 ак.ч.)
• Разработка структуры данных
• Сохранение данных.
• Список и запись. Записи и таблицы
• Чтение и запись Понятие об объектно-реляционном соответствии
• Хранение данных пользователей в СУБД Sqlite
• Использование СУБД Sqlite для хранения данных графа московского метрополитена
• Практикум: Хранение данных пользователей в СУБД Sqlite
7. Хранение данных вне программы (4 ак.ч.)
• Понятие о структуре данных
• Использование структуры для хранения данных
• Хранение данных вне Python
• Сохранение и восстановление данных.
• Библиотечный модуль pickle и shelve
• Практикум Сохранение данных графа и использованием модуля pickle
8. Работа с данными JSON в Python (4 ак.ч.)
• Знакомство с форматом JSON. Работа с форматом JSON в Python.
• Сериализация и десериализация файлов JSON в Python.
• Хранение данных вне Python
• Сохранение данных в файл JSON
• Практикум: Составление графа московского метрополитена на основе файла JSON