💾 Archived View for tris.fyi › pydoc › dataclasses captured on 2022-03-01 at 15:53:47. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-01-08)

➡️ Next capture (2022-04-28)

🚧 View Differences

-=-=-=-=-=-=-

Back to module index

Go to module by name

dataclasses

This module has no docstring.

Classes

Field

compare = <member 'compare' of 'Field' objects>
default = <member 'default' of 'Field' objects>
default_factory = <member 'default_factory' of 'Field' objects>
hash = <member 'hash' of 'Field' objects>
init = <member 'init' of 'Field' objects>
metadata = <member 'metadata' of 'Field' objects>
name = <member 'name' of 'Field' objects>
repr = <member 'repr' of 'Field' objects>
type = <member 'type' of 'Field' objects>

FrozenInstanceError

with_traceback(...)

  Exception.with_traceback(tb) --
      set self.__traceback__ to tb and return self.
args = <attribute 'args' of 'BaseException' objects>

GenericAlias

Represent a PEP 585 generic type

E.g. for t = list[int], t.__origin__ is list and t.__args__ is (int,).

InitVar

type = <member 'type' of 'InitVar' objects>

Functions

asdict

asdict(obj, *, dict_factory=<class 'dict'>)

  Return the fields of a dataclass instance as a new dictionary mapping
      field names to field values.

      Example usage:

        @dataclass
        class C:
            x: int
            y: int

        c = C(1, 2)
        assert asdict(c) == {'x': 1, 'y': 2}

      If given, 'dict_factory' will be used instead of built-in dict.
      The function applies recursively to field values that are
      dataclass instances. This will also look into built-in containers:
      tuples, lists, and dicts.
    

astuple

astuple(obj, *, tuple_factory=<class 'tuple'>)

  Return the fields of a dataclass instance as a new tuple of field values.

      Example usage::

        @dataclass
        class C:
            x: int
            y: int

      c = C(1, 2)
      assert astuple(c) == (1, 2)

      If given, 'tuple_factory' will be used instead of built-in tuple.
      The function applies recursively to field values that are
      dataclass instances. This will also look into built-in containers:
      tuples, lists, and dicts.
    

dataclass

dataclass(cls=None, /, *, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False)

  Returns the same class as was passed in, with dunder methods
      added 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
      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.
    

field

field(*, default=<dataclasses._MISSING_TYPE object at 0x7f02275c3610>, default_factory=<dataclasses._MISSING_TYPE object at 0x7f02275c3610>, init=True, repr=True, hash=None, compare=True, metadata=None)

  Return an object to identify dataclass fields.

      default is the default value of the field.  default_factory is a
      0-argument function called to initialize a field's value.  If init
      is True, the field will be a parameter to the class's __init__()
      function.  If repr is True, the field will be included in the
      object's repr().  If hash is True, the field will be included in
      the object's hash().  If compare is True, the field will be used
      in comparison functions.  metadata, if specified, must be a
      mapping which is stored but not otherwise examined by dataclass.

      It is an error to specify both default and default_factory.
    

fields

fields(class_or_instance)

  Return a tuple describing the fields of this dataclass.

      Accepts a dataclass or an instance of one. Tuple elements are of
      type Field.
    

is_dataclass

is_dataclass(obj)

  Returns True if obj is a dataclass or an instance of a
      dataclass.

make_dataclass

make_dataclass(cls_name, fields, *, bases=(), namespace=None, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False)

  Return a new dynamically created dataclass.

      The dataclass name will be 'cls_name'.  'fields' is an iterable
      of either (name), (name, type) or (name, type, Field) objects. If type is
      omitted, use the string 'typing.Any'.  Field objects are created by
      the equivalent of calling 'field(name, type [, Field-info])'.

        C = make_dataclass('C', ['x', ('y', int), ('z', int, field(init=False))], bases=(Base,))

      is equivalent to:

        @dataclass
        class C(Base):
            x: 'typing.Any'
            y: int
            z: int = field(init=False)

      For the bases and namespace parameters, see the builtin type() function.

      The parameters init, repr, eq, order, unsafe_hash, and frozen are passed to
      dataclass().
    

replace

replace(obj, /, **changes)

  Return a new object replacing specified fields with new values.

      This is especially useful for frozen classes.  Example usage:

        @dataclass(frozen=True)
        class C:
            x: int
            y: int

        c = C(1, 2)
        c1 = replace(c, x=3)
        assert c1.x == 3 and c1.y == 2
      

Other members

MISSING = <dataclasses._MISSING_TYPE object at 0x7f02275c3610>

Modules

builtins

copy

functools

inspect

keyword

re

sys

types