SyntaxStudy
Sign Up
Python @dataclass Decorator
Python Intermediate 4 min read

@dataclass Decorator

@dataclass

@dataclass automatically generates __init__, __repr__, and __eq__ for classes that mainly store data.

Example
from dataclasses import dataclass, field

@dataclass
class Point:
    x: float
    y: float
    label: str = "origin"

p = Point(1.0, 2.0)
print(p)       # Point(x=1.0, y=2.0, label="origin")
print(p == Point(1.0, 2.0))  # True
Pro Tip

Use frozen=True to make a dataclass immutable and hashable.