attrs появился раньше (2015), dataclass — в Python 3.7 (2018), вдохновлён attrs. attrs мощнее: встроенные validators (attr.validators.instance_of(int)), converters (автоматическое преобразование типов), slots=True по умолчанию, больше опций. dataclass — стандартная библиотека, не нужен pip install, но базовый функционал. attrs + cattrs = сериализация. Для простых случаев — dataclass. Для сложных с валидацией — attrs или pydantic. В новых проектах часто выбирают pydantic v2.
В чём разница между attrs и dataclass?
Middle
179 просмотровAFK Offer AI
Как работает garbage collector в Python?