The make_dataclass() factory function in the dataclasses module currently
requires type declarations. It would be nice if the type declarations were
optional.
With typing (currently works):
Point = NamedTuple('Point', [('x', float), ('y', float), ('z', float)])
Point = make_dataclass('Point', [('x', float), ('y', float), ('z', float)])
Without typing (only the first currently works):
Point = namedtuple('Point', ['x', 'y', 'z']) # underlying store is
a tuple
Point = make_dataclass('Point', ['x', 'y', 'z']) # underlying store is
an instance dict
This proposal would make it easy to cleanly switch between the immutable
tuple-based container and the instancedict-based optionally-frozen container.
The proposal would make it possible for instructors to teach dataclasses
without having to teach typing as a prerequisite. And, it would make
dataclasses usable for projects that have elected not to use static typing.
Raymond
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com