- Урок 1. Концепция объектно-ориентированного программирования (ООП) простыми словами
- Урок 2. Классы и объекты. Атрибуты классов и объектов
- Урок 3. Методы класса и параметр
self - Урок 4. Инициализатор
__init__и финализатор__del__ - Урок 5. Магический метод
__new__и управление созданием объектов. Пример паттерна Singleton - Урок 6. Методы уровня класса и статические методы: когда, зачем и как применять
- Практика Модуль 1
- Урок 7. Управление доступом к атрибутам:
public,protected,privateи интерфейсные методы - Урок 8. От свойства
property()к декоратору@property - Урок 9. Дескрипторы в Python: контроль доступа к атрибутам на уровне языка
- Практика Модуль 2
- Урок 10. Представление объектов: методы
__str__и__repr__ - Урок 11. Управление доступом к атрибутам:
__getattribute__,__getattr__,__setattr__,__delattr__ - Урок 12. Метод
__call__: как сделать объект вызываемым - Урок 13. Булев контекст объекта: метод
__bool__ - Урок 14. Итерируемые объекты: методы
__iter__и__next__ - Урок 15. Контекстные менеджеры: методы
__enter__и__exit__ - Урок 16. Протокол последовательности:
__getitem__,__setitem__,__delitem__ - Урок 17. Сравнения, сортировка и хеширование:
__eq__,__lt__,@total_ordering,__hash__ - Урок 18. Арифметические методы:
__add__,__mul__и другие - Практика Модуль 3
- Урок 19. Наследование в ООП: базовые концепции и синтаксис?
- Урок 20. Функция
super()и делегирование методов родителя - Урок 21. Атрибуты
privateиprotectedпри наследовании - Урок 22. Полиморфизм: duck typing,
isinstance(),issubclass() - Урок 23. Абстрактные классы: модуль
abc,ABC,@abstractmethod - Урок 24. Собственные исключения: наследование от
Exception - Урок 25. Множественное наследование и алгоритм MRO (C3-линеаризация)
- Урок 26. Коллекция
__slots__: оптимизация памяти и поведение при наследовании - Урок 27. Метаклассы: что такое
type, паттерны Singleton и Registry - Практика Модуль 4
- Урок 28. Аннотации типов в Python: зачем и как использовать
- Урок 29. Протоколы (
Protocol): структурная типизация как альтернатива ABC
- Урок 30. Введение в Data Classes:
@dataclassи автогенерация методов - Урок 31. Углубляемся в Data Classes:
field(),__post_init__,ClassVar - Урок 32. Наследование Data Classes и совместимость с обычными классами
- Практика Модуль 6