🎁 New User? Get 20% off your first purchase with code NEWUSER20 Register Now →
Menu

Categories

Python Intermediate

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.