Python dataclasses Module
Example
Create a simple data class and print it:
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
p = Point(1, 2)
print(p)
Try it Yourself »
Definition and Usage
The dataclasses module helps you write classes that mainly store data by generating methods like __init__
, __repr__
, and comparisons.
Use it to reduce boilerplate for simple data containers, customize fields with defaults/metadata, and convert instances to dicts/tuples.
Members
Member | Description |
---|---|
asdict() | Return the fields of a dataclass instance as a new dict mapping field names to values. |
astuple() | Return the fields of a dataclass instance as a tuple of values. |
dataclass() | Decorator to create dataclass types by adding generated methods. |
Field | Type describing a dataclass field (name, type, default, metadata). |
field() | Specify attributes of a dataclass field (default, default_factory, metadata, etc.). |
fields() | Return a tuple describing the dataclass fields. |
FrozenInstanceError | Raised when assigning to a field of a frozen dataclass. |
InitVar | Marks a field as init-only (passed to __init__ but not stored). |
is_dataclass() | Return True if the object is a dataclass or instance of one. |
KW_ONLY | Sentinel to declare following fields as keyword-only. |
make_dataclass() | Create a new dataclass type dynamically. |
MISSING | Sentinel indicating a field has no default value. |
replace() | Create a new instance with specified fields replaced. |