On 05/07/2018 10:59, Steven D'Aprano wrote:

But it is redundant in *that* example. Your hint is not giving any more
information that what the reader, or type checker, can already infer.

These are useful:

     x: Any = 3  # x can be anything, but is currently an int

     x: int = None # x can be an int, or None

     x: Union[int, str] = 'abc'  # x can be either an int, or a
     # string, not just the string you see here

This is one reason I dropped type hinting from my own developments.

It's a poor, half-baked version of both true static typing, and of true type inference.

Look at Haskell for how type inference can be done well (I have to admire it even if I don't understand it).

And at numerous other languages that are properly statically typed (Ada being one of the most rigorous, while C++ is a nightmare).

--
bart
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to