Раздел 45 · Python backend: Тарбадель

dataclasses и enum

junior~40 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Кельса права дважды. Методы из прошлого урока нужны любому классу-значению, и пишутся они всегда одинаково: перечислить поля в __init__, сравнить их кортежем в __eq__, хешировать тот же кортеж, вывести их же в __repr__. Четыре метода повторяют один и тот же список полей, и каждое новое поле надо не забыть в четырёх местах.

Вторая беда тише. В menu.py набор ломается по двум причинам, и терминал помнит их строками "зациклен" и "нет товара". Строку можно написать с ошибкой, и Python промолчит. В этом уроке два инструмента стандартной библиотеки: dataclass пишет методы за тебя, Enum превращает набор строк в закрытый список вариантов, где опечатка падает сразу.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.