Python DataClasses
dataclasses is a module that supports the creation of simple classes.
Contents
Usage
@DataClass
Decorate a class to generate additional methods.
import dataclass
@dataclass.dataclass
class User:
name: str # 'name' has no defualt value
id: int = 1000 # 'id' defaults to 1000A TypeError is raised if a field without a default value follows a field with a default value.
AsDict
AsTuple
Field
Create more complicated default behaviors for dataclass fields.
To create a field that defaults to an empty list, try:
import dataclass
@dataclass.dataclass
class User:
groups: list[int] = dataclass.field(default_factory=list)
u = User()
u.groups += [1, 2, 3]
Fields
Is_DataClass
KW_Only
A type annotation used for dataclasses.
import dataclass
@dataclass.dataclass
class Point:
x: float
_: dataclass.KW_ONLY
y: float
z: float
p = Point(0, y=1.5, z=2.0)
Make_DataClass
Missing
dataclass.MISSING is a sentinel value used internally.
Replace
See also
Python dataclasses module documentation
