О чём курс

Процедурный код становится трудно поддерживать и масштабировать, когда проект перерастает простые скрипты. Этот материал разбирает переход к объектно-ориентированному проектированию в Python, где данные и логика упаковываются в классы и объекты.

Внутри разбираются механики Python, которые часто вызывают вопросы у начинающих: от работы метода self и декораторов @staticmethod до сложных тем, таких как дескрипторы, механизм MRO при наследовании и создание хэшируемых объектов. Особое внимание уделено управлению доступом через property, геттеры и сеттеры.

Курс подойдет разработчикам, которые уже знают синтаксис Python, но хотят научиться писать структурированный, расширяемый и читаемый код с использованием ООП-парадигмы.

Программа обучения

  • #0. ООП: Введение (проблема процедурного подхода)
  • #1. ООП: Объекты и классы
  • #2. ООП: Атрибуты класса и функции
  • #3. ООП: Классы как callable-объекты, экземпляры классов
  • #4. ООП: Функции классов и методы экземпляров, self
  • #5. ООП: Инициализация экземляров, init метод
  • #6. ООП: Статические методы и декоратор @staticmethod
  • #7. ООП: Инкапсуляция, приватные атрибуты и публичный интерфейс
  • #8. ООП: Пример 1
  • #9. ООП: Name mangling
  • #10. ООП: Область видимости классов и Методы класса @classmethod
  • #11. ООП: Свойства @property, геттеры и сеттеры (getter, setter)
  • #12. ООП: Свойства только для чтения и вычисляемые свойства
  • #13. ООП: Наследование, перегрузка методов и расширение функциональности
  • #14. ООП: Множественное наследование, mro, миксины
  • #15. ООП: Полиморфизм, перегрузка операторов
  • #16. ООП: Хэшируемые объекты и равенство
  • #17. ООП: super() и делегирование родителям
  • #18. ООП: Дескрипторы. Non-data дескрипторы
  • #19. ООП: Дескрипторы данных
  • #20. ООП: Слабые ссылки weakref и проблема хранения данных в экземпляре дескриптора
  • #21. ООП: Метод set_name и хранение данных в экземпляре класса-владельца
Складчина создана 3 сентября 2020 г. · описание обновлено 23 марта 2026 г.
80 ₽ 750 ₽