DEV-PY200. Объектно-ориентированное программирование на языке Python
Длительность дисциплины: 44 ак.ч.
Аннотация
Курс DEV-PY200. Объектно-ориентированное программирование на языке Python направлен на изучение принципов объектно-ориентированного подхода при разработке приложений с использованием языка программирования Python.
Курс является логическим продолжением базовых курсов по процедурному программированию на языке Python.
Основные задачи курса:
- Введение понятия методов и переменных объекта;
- Изучение базовых концепций объектно-ориентированного программирования на языке Python»: инкапсуляция, наследование и полиморфизм;
- Перегрузка «магических» методов.
Курс DEV-PY200. Объектно-ориентированное программирование на языке Python позволяет совместно с курсами:
DEV-PY100. Основы процедурного программирования на языке Python
DEV-PY110. Процедурное программирование на языке Python (расширенный курс)
подготовиться к сертификации PCAP – Certified Associate in Python Programming.
Знания и умения, полученные в результате изучения
В результате освоения программы обучающийся должен уметь:
• создавать посредством классов пользовательские типы данных для решения конкретных задач;
• создавать и использовать пользовательские исключения;
• создавать объекты-генераторы;
• использовать декораторы классов и функций;
• осуществлять перегрузку операторов.
В результате освоения программы, обучающийся должен знать:
• базовые понятия объектно-ориентированного программирования;
• отличия процедурных и объектно-ориентированных языков программирования высокого уровня;
• понятия инкапсуляции, наследования и полиморфизма;
• возможности использования классов для решения практических задач.
В результате освоения программы обучающийся должен приобрести практический опыт:
• создания пользовательских классов на базе языка программирования Python;
• планирования собственной деятельности по реализации простых классов.
Содержание дисциплины
Тема 1. Основы объектно-ориентированного программирования
- Базовые понятия объектно-ориентированного программирования.
- Класс и экземпляр класса.
- Атрибуты класса. Атрибуты экземпляра класса.
- Классы «нового типа».
Практические занятия:
- Создание простого класса.
- Создание экземпляра класса.
- Создание класса, использующего различные типы атрибутов.
Тема 2. Инкапсуляция, наследование и полиморфизм
- Инкапсуляция.
- Наследование.
- Полиморфизм.
- Перегрузка «магических» методов.
Практические занятия:
- Написание класса на основе базового класса.
- Переопределение методов базового класса.
Тема 3. Разработка пользовательских Exception’ов
- Особенности использования исключений.
- Объекты исключений. Использование исключений.
Практические занятия:
- Работа со встроенными исключениями.
- Создание пользовательского класса исключений.
- Использование вложенных обработчиков исключений.
Тема 4. Дополнительные возможности классов
Практические занятия:
- Разработка пользовательских тест-кейсов
- Использование проверок на успешность базового тест-кейса
Тема 5. Дополнительные возможности классов
- Расширение встроенных типов.
- Декораторы классов.
- Типичные проблемы при работе с классами.
Практические занятия:
- Простой декоратор проверки значений позиционных аргументов на вхождение в заданный диапазон.
- Применение декораторов к методам.