@dataclass是一个装饰器,用于自动生成一些special method并添加到类中
@
dataclasses.
dataclass
(*, init=True, repr=True, eq=True, order=False,unsafe_hash=False, frozen=False, match_args=True,
kw_only=False, slots=False)
例子
@dataclass
class C:
a: int # 'a' has no default value
b: int = 0 # assign a default value for 'b'
在这个例子中, a
和 b
都将包含在添加的 __init__()
方法中,它们将被定义为:
def __init__(self, a: int, b: int = 0):
参考
dataclasses --- 数据类 — Python 3.10.1 文档https://docs.python.org/zh-cn/3.10/library/dataclasses.html