Еще в Python 3.7 добавили такую мощную штуку, как классы данных. Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных.
Встроенный модуль
dataclasses содержит декоратор @dataclass. С его использованием код будет выглядеть лаконично и коротко. Пример на картинке выше.Важно отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать
Any из модуля typing.В результате вы автоматически получаете класс, с реализованными методами
__init__, __repr__, __str__ и __eq__. Кроме того, это будет обычный класс и вы можете наследоваться от него или добавлять произвольные методы.#dataclass
