🐍 Совет по Python №9.



dataclasses — встроенный модуль, который предоставляет декоратор и функции для автоматического добавления сгенерированных специальных методов в определяемые пользователем классы.



По умолчанию у dataclass есть методы init, repr и eq, поэтому их не нужно реализовывать самостоятельно.



На первом примере идентификаторы title и author используются несколько раз. Реальный класс же будет ещё содержать переопределенные методы eq и repr.



На втором примере мы автоматически получаем класс, с реализованными методами init, repr, и eq. Кроме того, это будет обычный класс и вы можете наследоваться от него.



Чем полезен dataclass?



Конструкции dataclass позволяют писать шаблонный код и упрощают процесс создания классов.



Стоит отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать Any из модуля typing.



Документация и примеры кода здесь :3