3 ms·
what would you say are the limitations of Python type annotations? From the pycon demos I've seen it seems pretty functional and complete.
by ATsch 9y ago
what would you say are the limitations of Python type annotations? From the pycon demos I've seen it seems pretty functional and complete.
- deathanatos 9y ago* 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.)
- slaymaker1907 9y agoYou don't need comment based annotations since there are real annotations since python 3.5
- deathanatos 9y agoWhile true, my codebase regrettably needs to run in Python 2.7.
- make3 9y agoI can't tell if you're neglecting the fact that most production Python is Python 2 on purpose or not
- yorwba 9y ago> 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 https://www.python.org/dev/peps/pep-0484/#the-numeric-tower
- deathanatos 9y agoHmm. I wasn't aware of that; still, it seems to not work for Decimal objects.