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)

I propose `NON_FIELDS` sentinel, analogous to `KW_ONLY`. (alternative name 
suggestions welcome). when writing a dataclass, all attributes after this 
sentinel are ignored and not considered fields.

```
@dataclass
class Foo:
    field0: int
    field1: int

    _: KW_ONLY

   fieldN: int

    _: NON_FIELDS

    attr0: int   # @dataclass will ignore this type hint.
```

Additionally one could consider adding an `attribute` typing construct, such 
that `attr0: attribute[int]` would mark it as a non-field attribute.
_______________________________________________
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/P67URFV2JJRFD6J5TXD44EEBO4IRTEYF/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to