Membuat kelas data baru dengan nama cls_name, bidang seperti yang ditentukan dalam bidang, kelas dasar seperti yang diberikan dalam basis, dan diinisialisasi dengan namespace seperti yang diberikan dalam namespace. field adalah sebuah iterable yang masing-masing elemennya berupa nama, (nama, tipe), atau (nama, tipe, Bidang). Jika hanya nama yang diberikan, mengetik. Apa saja digunakan untuk mengetik. Nilai init, repr, eq, order, unsafe_hash, frozen, match_args, kw_only, slot, dan lemahref_slot memiliki arti yang sama seperti di @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, weakref_slot=False)
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