О курсе
Курс «Тотальный ООП на Python» от ProPractic задуман как объединение трёх отдельных тем в один учебный материал. Первая часть посвящена основам объектно-ориентированного подхода в Python. В ней разбираются базовые концепции: классы и экземпляры, атрибуты, методы (экземпляра, класса и статические), конструкторы __init__ и __new__, магические методы, перегрузка операторов сравнения, инкапсуляция с модификаторами доступа, геттеры и сеттеры, полиморфизм, датаклассы, наследование (включая множественное и многоуровневое), абстрактные классы, разрешение конфликтов наследования через MRO, проверка типов с помощью isinstance() и issubclass(), а также миксины. Отдельное внимание уделяется правилам именования и работе с атрибутами через attr и __dict__.
Вторая часть знакомит с унифицированным языком моделирования UML и синтаксисом PlantUML для построения диаграмм. Рассматриваются диаграммы последовательности, классов, компонентов и деятельности. На их основе происходит знакомство с паттернами проектирования без привязки к конкретному языку программирования. В планах автора — рассмотреть такие паттерны, как Одиночка, Строитель, Абстрактная фабрика, Фабричный метод, Компонент, Фасад, Прокси, Стратегия, Состояние, Декоратор и Наблюдатель.
Третья часть соединяет материал первых двух частей и посвящена применению паттернов проектирования в Python. Примеры варьируются от простых (строитель пиццы, фабрика матрёшек) до более сложных сценариев. Раздел разделён на три уровня сложности: от абстрактных примеров до жизненных ситуаций. По описанию автора, материал подаётся так, как он обычно демонстрируется студентам на трёхчасовых лекциях.
Что рассматривается в программе
- Рассматривается создание классов, работа с атрибутами экземпляра и класса, методами разных типов.
- Разбираются магические методы, перегрузка операторов сравнения и сериализация через repr.
- Изучается инкапсуляция, геттеры и сеттеры, полиморфизм и датаклассы.
- Рассматривается наследование, включая множественное, абстрактные классы, MRO и миксины.
- Осваивается построение диаграмм UML (последовательности, классов, компонентов, деятельности) и синтаксис PlantUML.
- Разбираются паттерны проектирования: Одиночка, Строитель, Абстрактная фабрика, Фабричный метод, Компонент, Фасад, Прокси, Стратегия, Состояние, Декоратор, Наблюдатель.
- Показывается применение паттернов в Python на примерах разного уровня сложности.
Кому может быть полезен курс
- Тем, кто уже знаком с базовым Python, функциональным стилем и аннотациями типов, но испытывает сложности с поддержкой и расширением своих скриптов.
- Тем, кто хочет выйти за рамки простых учебных примеров с наследованием и изучить более продвинутые концепции ООП.
- Специалистам, которым нужно ознакомиться с языком UML и синтаксисом PlantUML для визуализации архитектуры.
- Тем, кто интересуется паттернами проектирования и их применением в Python.
Вопросы о программе
Какие части включает курс?
Курс состоит из трёх частей: основы ООП на Python, UML и паттерны проектирования с примерами на Python.
Нужно ли знать Python перед началом?
В описании указано, что для прохождения курса требуются базовые знания Python, знакомство с функциональным стилем и аннотациями типов.
Какие паттерны проектирования рассматриваются?
В планах курса — Одиночка, Строитель, Абстрактная фабрика, Фабричный метод, Компонент, Фасад, Прокси, Стратегия, Состояние, Декоратор и Наблюдатель.
Изучается ли UML и PlantUML?
Да, вторая часть курса посвящена языку UML и синтаксису PlantUML для построения диаграмм.