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/

Reply via email to