Объектно-ориентированное программирование на Python

Курс "Объектно-ориентированное программирование на Python" знакомит с особенностями ООП в общем и его реализацией в языке Python. Предполагается, что вы знакомы с Python на уровне структурного программирования (основные типы данных, ветвления, циклы, функции).

Основные понятия объектно-ориентированного программирования на Python

Ключевыми понятиями объектно-ориентированного программирования являются "класс" и "объект". Это реально существующие в программном коде единицы, а не только обобщающие понятия. Объекты порождаются от своих классов. В языке программирования Python такие объекты принято называть экземплярами.

Наследование, полиморфизм и инкапсуляция – основные принципы, столпы объектно-ориентированного программирования. Наследование предполагает возможность определения дочерних классов, полиморфизм – разный способ реализации одного и того же, инкапсуляция – сокрытие и объединение данных и методов. Композиция реализуется реже, означает возможность создания объектов, составными частями которых являются объекты других классов.

Конструктором в ООП называют метод класса, который вызывается автоматически при создании объекта от этого класса. В то же время конструктор относится к методам перегрузки операторов. Имена таких методов регламентированы самим языком программирования, а их вызов происходит автоматически при участии объекта в тех или иных операциях. Например, сложении, извлечении элемента и др.

Итераторы – это особая разновидность объектов подобных коллекциям вроде списка, но которые не хранят в себе весь набор элементов, а генерируют только один при каждом обращении. В Python есть встроенные классы-типы данных, от которых создаются итераторы. Однако также можно определять собственные классы, чьи экземпляры будут обладать возможностями итераторов.

Курс включает 12 основных уроков + 3 дополнительных:

  1. Что такое объектно-ориентированное программирование

  2. Создание классов и объектов

  3. Конструктор класса – метод __init__()

  4. Наследование

  5. Полиморфизм

  6. Инкапсуляция

  7. Композиция

  8. Перегрузка операторов

  9. Модули и пакеты

  10. Документирование кода

  11. Пример объектно-ориентированной программы на Python

  12. Особенности объектно-ориентированного программирования

  13. Статические методы

  14. Итераторы

  15. Генераторы

Курс с примерами решений практических работ и всеми уроками: android-приложение, pdf-версия.

Версия курса: октябрь 2019.