ID EN
Typing

dataclass_transform

Python 3.11 🇮🇩 Bahasa Indonesia

Dekorator untuk menandai suatu objek sebagai menyediakan perilaku seperti kelas data.

Syntax

PYTHON
@typing.dataclass_transform(*, eq_default=True, order_default=False, kw_only_default=False, field_specifiers=(), **kwargs)

Arguments

Parameter Deskripsi
eq_default Indicates whether the eq parameter is assumed to be True or False if it is omitted by the caller. Defaults to True.
eq_default Indicates whether the eq parameter is assumed to be True or False if it is omitted by the caller. Defaults to True.
order_default Indicates whether the order parameter is assumed to be True or False if it is omitted by the caller. Defaults to False.
order_default Indicates whether the order parameter is assumed to be True or False if it is omitted by the caller. Defaults to False.
kw_only_default Indicates whether the kw_only parameter is assumed to be True or False if it is omitted by the caller. Defaults to False.
kw_only_default Indicates whether the kw_only parameter is assumed to be True or False if it is omitted by the caller. Defaults to False.
field_specifiers Specifies a static list of supported classes or functions that describe fields, similar to dataclasses.field(). Defaults to ().
field_specifiers Specifies a static list of supported classes or functions that describe fields, similar to dataclasses.field(). Defaults to ().

Contoh

Example 1
PYTHON
T = TypeVar("T")

@dataclass_transform()
def create_model(cls: type[T]) -> type[T]:
    ...
    return cls

@create_model
class CustomerModel:
    id: int
    name: str
Example 2
PYTHON
@dataclass_transform()
class ModelBase: ...

class CustomerModel(ModelBase):
    id: int
    name: str
Example 3
PYTHON
@dataclass_transform()
class ModelMeta(type): ...

class ModelBase(metaclass=ModelMeta): ...

class CustomerModel(ModelBase):
    id: int
    name: str

See Also

dataclass @dataclasses.dataclass @dataclasses.dataclass @dataclasses.dataclass bool bool bool tuple