Python is DOOMED! Again!
Mario Figueiredo
marfig at gmail.com
Thu Jan 22 03:10:34 EST 2015
In article <54c0a571$0$13002$c3e8da3$5496439d at news.astraweb.com>,
steve+comp.lang.python at pearwood.info says...
>
> The point isn't that there are no other alternative interpretations
> possible, or that annotations are the only syntax imaginable, but that
> they're not hard to guess what they mean, and if you can't guess, they're
> not hard to learn and remember.
Possibly one common use case will be Unions. And that factory syntax is
really awful and long when you look at a function definition with as
little as 3 arguments. The one below has only 2 arguments.
def handle_employees(emp: Union[Employee, Sequence[Employee]], raise:
Union[float, Sequence[float]]) -> Union[Employee, Sequence[Employee],
None]:
That's for a generic list-like container. Have fun with the Mapping
union.
Meanwhile there's quite a few more generics like the Sequence one above
you may want to take a look at and try and remember. And that's just one
factory (the generics support factory). You may also want to take a look
at TypeVar and Callable for more syntactic hell.
Meanwhile, there's the strange decision to implement type hints for
local variables # comment lines. I have an hard time wrapping my head
around this one. Really, comments!?
Finally, remember all this is being added to your code just to
facilitate static analysis. Strangely enough though I was taught from
the early beginning that once I start to care about types in Python, I
strayed from the pythonic way. I'm confused now... What is it then?
More information about the Python-list
mailing list