+7 (812) 703-02-02 info@hse.spbstu.ru

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. Дополнительные возможности классов
  • Расширение встроенных типов.
  • Декораторы классов.
  • Типичные проблемы при работе с классами.

Практические занятия:

  • Простой декоратор проверки значений позиционных аргументов на вхождение в заданный диапазон.
  • Применение декораторов к методам.