Объектно-ориентированное программирование на Python
Курс "Объектно-ориентированное программирование на Python" знакомит с особенностями ООП в общем и его реализацией в языке Python. Предполагается, что вы знакомы с Python на уровне структурного программирования (основные типы данных, ветвления, циклы, функции).
Ключевыми понятиями объектно-ориентированного программирования являются "класс" и "объект". Это реально существующие в программном коде единицы, а не только обобщающие понятия. Объекты порождаются от своих классов. В языке программирования Python такие объекты принято называть экземплярами.
Наследование, полиморфизм и инкапсуляция – основные принципы, столпы объектно-ориентированного программирования. Наследование предполагает возможность определения дочерних классов, полиморфизм – разный способ реализации одного и того же, инкапсуляция – сокрытие и объединение данных и методов. Композиция реализуется реже, означает возможность создания объектов, составными частями которых являются объекты других классов.
Конструктором в ООП называют метод класса, который вызывается автоматически при создании объекта от этого класса. В то же время конструктор относится к методам перегрузки операторов. Имена таких методов регламентированы самим языком программирования, а их вызов происходит автоматически при участии объекта в тех или иных операциях. Например, сложении, извлечении элемента и др.
Итераторы – это особая разновидность объектов подобных коллекциям вроде списка, но которые не хранят в себе весь набор элементов, а генерируют только один при каждом обращении. В Python есть встроенные классы-типы данных, от которых создаются итераторы. Однако также можно определять собственные классы, чьи экземпляры будут обладать возможностями итераторов.
Курс включает 12 основных уроков + 3 дополнительных:
- Что такое объектно-ориентированное программирование
- Создание классов и объектов
- Конструктор класса – метод __init__()
- Наследование
- Полиморфизм
- Инкапсуляция
- Композиция
- Перегрузка операторов
- Модули и пакеты
- Документирование кода
- Пример объектно-ориентированной программы на Python
- Особенности объектно-ориентированного программирования
- Статические методы
- Итераторы
- Генераторы
Курс с примерами решений практических работ и всеми уроками:
android-приложение, pdf-версия
Версия курса: октябрь 2020.