當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。