def dataclass(cls=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):
- """Returns the same class as was passed in, with dunder methods
- added based on the fields defined in the class.
+ """Add dunder methods based on the fields defined in the class.
Examines PEP 526 __annotations__ to determine fields.
- If init is true, an __init__() method is added to the class. If
- repr is true, a __repr__() method is added. If order is true, rich
+ If init is true, an __init__() method is added to the class. If repr
+ is true, a __repr__() method is added. If order is true, rich
comparison dunder methods are added. If unsafe_hash is true, a
- __hash__() method function is added. If frozen is true, fields may
- not be assigned to after instance creation. If match_args is true,
- the __match_args__ tuple is added. If kw_only is true, then by
- default all fields are keyword-only. If slots is true, an
- __slots__ attribute is added.
+ __hash__() method is added. If frozen is true, fields may not be
+ assigned to after instance creation. If match_args is true, the
+ __match_args__ tuple is added. If kw_only is true, then by default
+ all fields are keyword-only. If slots is true, a new class with a
+ __slots__ attribute is returned.
"""
def wrap(cls):