On 6/23/2023 11:34 AM, Joao S. O. Bueno wrote:
On Fri, Jun 23, 2023 at 12:18 PM Eric V. Smith <e...@trueblade.com> wrote:
On Jun 23, 2023, at 9:34 AM, Joao S. O. Bueno <gwid...@gmail.com>
wrote:
On Fri, Jun 23, 2023 at 2:35 AM Jelle Zijlstra
<jelle.zijls...@gmail.com> wrote:
El jue, 22 jun 2023 a las 8:22, Randolf Scholz
(<randolf.sch...@gmail.com>) escribió:
Dataclasses should provide a way to ignore a type hinted
attributes, and not consider them as fields.
For example, some attributes might be derived during
`__post_init__` from the values of the fields or other
variables.
If one wants to still type hint these attributes, one has
to awkward workarounds to avoid having dataclass
interpret them as fields.
(https://stackoverflow.com/questions/76532816)
But it’s not clear (to me) why not being a field is desirable. Why
is it important?
Can't know - not my design, it was Randolf's question.
They might represent an internal state that should not be relayed on
serialization or conversion, for example.
I can imagine some scenarios where I'd want some instance attributes
to be shorter lived and non-transient,
although, I'd more likely build the class "manually" instead of a
dataclass - or, more likely, put the dataclass under
a wrapper layer that would handle the "perishable" states.
I think you can make dataclasses itself ignore the field by judicious
use of `field` parameters. If there's some code that's looking through
`dataclasses.fields` but wants to ignore some fields, irrespective of
what dataclasses is doing, then I'd say it's on the caller to have a
list of fields to ignore.
But without knowing the use case, it's hard to say.
Eric
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at
https://mail.python.org/archives/list/python-ideas@python.org/message/PTJFEC3EQGP4TDDMF6TA7AENOBTOVMSO/
Code of Conduct: http://python.org/psf/codeofconduct/