В чём разница между attrs и dataclass?

Middle
179 просмотров
AFK Offer AI

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.

Следующий вопрос

Как работает garbage collector в Python?