当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dataclasses.make_dataclass用法及代码示例


用法:

dataclasses.make_dataclass(cls_name, fields, *, bases=(), namespace=None, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False, match_args=True, kw_only=False, slots=False)

创建一个具有名称的新数据类cls_name, 中定义的字段fields, 中给出的基类bases, 并使用给定的命名空间初始化namespace.fields是一个可迭代的,其元素都是name,(name, type), 或者(name, type, Field).如果只是name提供,typing.Any是用来type.的值init,repr,eq,order,unsafe_hash,frozen,match_args,kw_only, 和slots与他们在dataclasses.dataclass.

此函数不是严格要求的,因为任何用于使用__annotations__ 创建新类的 Python 机制都可以应用 dataclass() 函数将该类转换为数据类。提供此函数是为了方便。例如:

C = make_dataclass('C',
                   [('x', int),
                     'y',
                    ('z', int, field(default=5))],
                   namespace={'add_one': lambda self: self.x + 1})

相当于:

@dataclass
class C:
    x: int
    y: 'typing.Any'
    z: int = 5

    def add_one(self):
        return self.x + 1

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 dataclasses.make_dataclass。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。