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/

Reply via email to