Hacker News new | past | comments | ask | show | jobs | submit login

what would you say are the limitations of Python type annotations? From the pycon demos I've seen it seems pretty functional and complete.



* pylint / pep8 doesn't parse comment-based annotations, and thus flags imports that are in use as "unused"

* numbers.Real / Union[float,int] do not work correctly; I basically can't figure a way to annotate a function that takes an int/float/decimal/etc.

(mypy doesn't think "int" is a valid "Real", and it doesn't think you can add two Union[float,int] objects.)

(mypy has nonetheless been very helpful, and overall I would recommend it.)


> I basically can't figure a way to annotate a function that takes an int/float/decimal/etc.

It seems like you should be able to just annotate it with float?

... when an argument is annotated as having type float , an argument of type int is acceptable ...

https://www.python.org/dev/peps/pep-0484/#the-numeric-tower


Hmm. I wasn't aware of that; still, it seems to not work for Decimal objects.


You don't need comment based annotations since there are real annotations since python 3.5


I can't tell if you're neglecting the fact that most production Python is Python 2 on purpose or not


While true, my codebase regrettably needs to run in Python 2.7.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: