It's current convention (and is used by typing module and static type
checkers) that string annotations evaluate to valid Python types.

On Thu, 2021-03-11 at 10:45 -0800, Ethan Furman wrote:
> On 3/10/21 9:47 PM, Eric V. Smith wrote:
> 
> > I'm not sure of the best way to achieve this. Using flags to
> > field() doesn't sound awesome, but could be made to work. Or maybe
> > special field names or types? I'm not crazy about that, but using
> > special types would let you do something like:
> > 
> > @dataclasses.dataclass
> > class Point:
> >      x: int = 0
> >      _: dataclasses.KEYWORD_ONLY
> >      y: int
> >      z: int
> >      t: int = 0
> 
> Maybe something like this?
> 
>      class Hmm:
>          #
>          this: int
>          that: float
>          #
>          pos: '/'
>          #
>          these: str
>          those: str
>          #
>          key: '*'
>          #
>          some: list
> 
>      >>> Hmm.__dict__['__annotations__']
>      {
>          'this': <class 'int'>,
>          'that': <class 'float'>,
>          'pos': '/',
>          'these': <class 'str'>,
>          'those': <class 'str'>,
>          'key': '*',
>          'some': <class 'list'>,
>          }
> 
> The name of 'pos' and 'key' can be convention, since the actual name
> is irrelevant.  They do have to be unique, though.  ;-)
> 
> --
> ~Ethan~
> _______________________________________________
> 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/BIAVX4O6JRPQY7S3XG2IX6BSBZLAR2NS/
> Code of Conduct: http://python.org/psf/codeofconduct/

_______________________________________________
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/BKEP55A72KOF6PWYGJEDXZPMN5CBTL6D/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to