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