|
⇤ ← Revision 1 as of 2023-04-11 16:41:36
Size: 1521
Comment:
|
Size: 1545
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 16: | Line 16: |
| Decorate a class to generate additional methods. | Decorate a class to generate [[Python/DunderMethod|additional methods]]. |
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
