[Python-ideas] Re: PEP Idea: Better return type annotation syntax
Jelle Zijlstra wrote: > > I like this too. A practical issue is that list[(a, b)] and list[a, b] look > the same to the compiler, but they would mean very different things. It's > not obvious how to fix this in a backward-compatible way. > > I think it looks much cleaner, and if there isn't any drawbacks to adding > > this syntax, I'd love to work on bringing this to life. Restricting it to only the top level of a return type annotation should do the trick! Such that: def f() -> (X, Y, Z): ... is interpreted as tuple[X, Y, Z], but: def f(x: (X, Y, Z)) -> None: ... def f() -> Union[int, (X, Y, Z)]: ... def f() -> list[(X, Y, Z)]: ... Are not considered as tuple[...] ___ 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/GDTLCSBIGY7W6GNWHUMRGY7KKFDKT3LU/ Code of Conduct: http://python.org/psf/codeofconduct/
[Python-ideas] Re: PEP Idea: Better return type annotation syntax
On Thu, Jan 6, 2022 at 10:44 PM Tushar Sadhwani < tushar.sadhwani...@gmail.com> wrote: > With the recent submission of [PEP 677][1], I was reminded of an idea I > had with function annotation syntax since the very beginning: > > why not let me write: > > ```python > def f() -> tuple[int, str]: > return 42, 'foo' > ``` > > as: > > ```python > def f() -> (int, str): > return 42, 'foo' > ``` > > Is there any inherent reason for this, other than that it isn't an actual > "type"? I like this too. A practical issue is that list[(a, b)] and list[a, b] look the same to the compiler, but they would mean very different things. It's not obvious how to fix this in a backward-compatible way. > > > I think it looks much cleaner, and if there isn't any drawbacks to adding > this syntax, I'd love to work on bringing this to life. > > [1]: https://www.python.org/dev/peps/pep-0677/ > ___ > 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/NLZOBGSJT3A7KVSZVIHCQBOGKZ2E7AI2/ > 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/AXYLQCVEW5MBV7T7SYER3DPLWPH7BXSB/ Code of Conduct: http://python.org/psf/codeofconduct/