What is Dataclass?
A decorator that automatically generates __init__, __repr__, __eq__, and other special methods for classes that mainly store data.
Python 3.7+ dataclasses reduce boilerplate for data-holding classes. The @dataclass decorator auto-generates methods based on type-annotated class attributes. Optional features include ordering, immutability (frozen=True), and default factories.
Dataclasses support inheritance, post-init processing (__post_init__), and field customization. For validation, consider Pydantic. For serialization, use dataclasses-json or cattrs. They replace manual __init__/__repr__ writing.