dataclass Reference

Basics

from dataclasses import dataclass, fieldImport
@dataclass class Point: x: float y: floatBasic dataclass
p = Point(1.0, 2.0)Create instance
p.x, repr(p)Access field, repr auto-generated

Options

@dataclass(frozen=True)Immutable (hashable)
@dataclass(order=True)Enable comparison operators
@dataclass(slots=True)Use __slots__ (Python 3.10+)
field(default=0)Field with default
field(default_factory=list)Mutable default
field(repr=False, compare=False)Exclude from repr/compare

Methods

from dataclasses import asdict, astupleConvert to dict/tuple
from dataclasses import replace replace(p, x=10)Create modified copy
from dataclasses import fields fields(p)List all fields