О чём этот урок
Это восемнадцатый практикум курса. Все задания посвящены закреплению тем наследования и множественного наследования. Первая задача — моделирование кассовых чеков и смен с помощью классов Receipt, SaleReceipt, ReturnReceipt и Shift. Вторая задача — система уведомлений на миксинах.
Что повторим и закрепим
- Наследование полей и методов от базового класса.
- Переопределение
__init__и__str__. - Валидация данных и генерация
ValueError. - Фильтрация объектов по типу через
isinstance. - Миксины для добавления поведения.
- Использование
hasattrдля проверки обязательных полей. - Современные практики: type hints, guard clauses, f-strings.