note: I wasn't thinking -- typeshed, of course, has a lot more than the standard lib. But it's still a collection of widely used somewhat general purpose libraries. So I think my hypothesis is still valid.
-CHB On Sun, Dec 19, 2021 at 8:54 PM Christopher Barker <python...@gmail.com> wrote: > A question that came up for me is: > > How common is it to need to use Callable for type hints? particularly > complex versions, specifying what parameters the Callable takes? A more > compact and easier to read syntax is nice, but not very important if it > isn't used much. > > My first thought on this was that I can't remember a single time that I > wrote production code that took a Callable as a function parameter -- or > returned one -- OK maybe a few times, but it's certainly rare in my > production code. > > So I looked in the PEP to see if that issue was addressed, and indeed it > is: > > "The Callable type is widely used. For example, as of October 2021 it was > the fifth most common complex type in typeshed," > > That did surprise me, but on thinking about it, maybe not so much. It > strikes me that Callable is most likely to be used in fairly low level, > general purpose functions, like map(), sort(), various functions in > itertools, etc. Just the sort of functions that are common in the standard > library, but may not so much in production code. > > I have no idea how to evaluate how common it is in production code -- > maybe type hinting is common enough now that PyPi could be searched -- but > even PyPi is a biased sample, as it is full of, by definition, > libraries for others' use -- i.e. general purpose tools (less general that > the stad lib, but still not specialty production code, which I suspect is > the majority of Python code out there). > > Perhaps some folks that have been type=hinting their production code bases > could provide anecdotal evidence. > > Anyway, if my hypothesis is correct, then it's not so bad that not-so-nice > syntax is required to type hint general purpose utilities. > > -CHB > > -- > Christopher Barker, PhD (Chris) > > Python Language Consulting > - Teaching > - Scientific Software Development > - Desktop GUI and Web Development > - wxPython, numpy, scipy, Cython > -- Christopher Barker, PhD (Chris) Python Language Consulting - Teaching - Scientific Software Development - Desktop GUI and Web Development - wxPython, numpy, scipy, Cython
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/LWIXFDUGRM6Z3KHI3YGV65HWXRD2S4H5/ Code of Conduct: http://python.org/psf/codeofconduct/