Python dataclasses 模块
实例
创建一个简单的数据类并打印它:
from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
p = Point(1, 2)
print(p)
亲自试一试 »
定义和用法
dataclasses 模块通过生成诸如 __init__、__repr__ 和比较之类的方法,帮助您编写主要用于存储数据的类。
使用它来减少简单数据容器的样板代码,使用默认值/元数据自定义字段,并将实例转换为字典/元组。
成员
| 成员 | 描述 |
|---|---|
| asdict() | 返回数据类实例的字段,将其作为新字典返回,字典中字段名映射到值。 |
| astuple() | 返回数据类实例的字段,将其作为值元组返回。 |
| dataclass() | 装饰器,用于通过添加生成的方法来创建数据类类型。 |
| Field | 描述数据类字段的类型(名称、类型、默认值、元数据)。 |
| field() | 指定数据类字段的属性(默认值、默认工厂、元数据等)。 |
| fields() | 返回描述数据类字段的元组。 |
| FrozenInstanceError | 当给冻结数据类的字段赋值时引发此错误。 |
| InitVar | 将字段标记为仅初始化(传递给 `__init__`,但不存储)。 |
| is_dataclass() | 如果对象是数据类或其实例,则返回 True。 |
| KW_ONLY | 用于声明以下字段为仅关键字赋值的哨兵。 |
| make_dataclass() | 动态创建新的数据类类型。 |
| MISSING | 哨兵指示字段没有默认值。 |
| replace() | 创建一个新实例,并将指定的字段替换为新实例。 |

