Кому подойдет курс: разработчик аналитик devops тестировщик системный администратор Обучение подойдет специалистам, кто использует Python для работы. Чтобы получить максимум от курса, тебе нужно знать основы Python: уметь писать функции и объявлять переменные. Знакомая ситуация? Умею писать классы, но не понимаю, как это применяется в реальной разработке Теряюсь на вопросах об абстрактных классах, SOLID и генераторах Есть база по ООП, но не чувствую, что использую максимум возможностей языка Когда читаю код других разработчиков, с трудом разбираюсь, как всё устроено Я не уверен, правильно ли я пишу код в ООП-стиле. Хочу разобраться! Толком не понимаю, как используется SOLID на практике 95% вопросов по ООП ты закроешь на этом курсе: Научишься проектировать чистый, поддерживаемый код с опорой на SOLID и архитектурные приёмы Освоишь ключевые принципы ООП на Python: наследование, композиция, инкапсуляция, полиморфизм, интерфейсы, абстрактные классы, Protocol и многое другое Подготовишься к техническим собеседованиям — на них регулярно спрашивают про ООП: контекстные менеджеры, SOLID и наследование Сможешь объяснять архитектурные решения на ревью и интервью — с позиции зрелого специалиста Сможешь применять лучшие практики в написании ООП-style кода Программа: Модуль 1. Зачем нужен ООП Введение в ООП: что такое и зачем нужно Ключевые понятия: класс, объект, атрибут, метод Экземпляр класса Модуль 2. Атрибуты и методы Атрибуты экземпляра класса и инициализатор Методы экземпляра класса Модуль 3. Наследование Наследование классов Расширение классов-наследников Как применяют наследование в веб-разработке Модуль 4. Полиморфизм Полиморфизм в Python Полиморфизм в Python классах Чем нам удобен полиморфизм в веб-разработке Модуль 5. Классовые и статические методы Метод класса Метод класса как новый инициализатор Статический метод Модуль 6. Магические методы: Основы Знакомство с магическими методами Магические методы для сокращения количества кода Магические методы сравнения Магические методы управления доступом Модуль 7. Инкапсуляция, геттеры/сеттеры, property Инкапсуляция Защищенное свойство Частное свойство Декоратор Удобство кэширования с помощью property Модуль 8. Абстрактные классы и интерфейсы Абстрактный класс Библиотека abc Интерфейсы как способ задать структуру Protocol Наследование протокола Модуль 9. Расширение классов и super() Обращение к родительской реализации Обращение к любому родительскому методу Множественное наследование Обращение к родительским методам при множественном наследовании Модуль 10. Проект по основам ООП Научитесь читать и записывать данные на диск и разнесёте проект по модулям Опишете модель заметок и категорий и свяжете объекты между собой Примените наследование, включая множественное, и корректно вызовете родительские методы Закрепите работу с абстрактными классами и протоколами Результат модуля: Реализуете приложение для создания, изменения и поиска заметок и закрепите полученные знания Модуль 11. Магические методы: Продвинутые темы Конструктор в Python - магический метод __new__ - где применяется Порядок вызова __new__ и __init__ Создание экземпляра нужного типа Singleton: экземпляр-одиночка Callback Protocol Гибкая совместимость с протоколом Модуль 12. Dataclass Введение в dataclasses Изменение поведения dataclass Значения по умолчанию в dataclass Модуль 13. Итераторы и контекстные менеджеры Итераторы Создание своего итератора Создание итератора в одном классе Контекстный менеджер Генератор как контекстный менеджер Модуль 14. Принципы SOLID Принципы SOLID с примерами использования Модуль 15. Проект: SOLID и продвинутое ООП Спроектируете объектную модель книг с применением наследования и аннотаций типов Реализуете сервисный слой с ленивой загрузкой, сериализацией и разделением ответственности Построите абстрактный базовый сервис как интерфейс для CRUD-операций Реализуете абстракцию хранилища данных и её JSON-вариант, соблюдая Single Responsibility Principle Структурируете проект по слоям: модель → хранилище → сервис → менеджер Реализуете систему команд через паттерн Action, включая базовый Action и ActionResult Примените принципы SOLID в архитектуре менеджера и всей системы Результат модуля: Соберёте CLI-систему управления книгами с полноценной слоистой архитектурой, абстрактными базовыми классами, паттернами, сервисным слоем, хранилищами и корректным применением SOLID