I am trying to create a python package (not anywhere at the moment) and I want to use 3.6 python variable annotations, that is
foo: int = 5
while still providing support for Python 3.5.
Is there any way to provide these style of variable annotations inside Python 3.5, either through a
from __future__ import variable_annotations
or similar. I know it is possible to use comment type annotations, but I would like to be able to use this style.
TLDR: No, you can not use variable annotations in Python 3.5 and earlier.
First, Python 3.6.0 changelog reports variable annotations to be a new feature comparing to 3.5.
Second, PEP 526 is defined as backward compatible. According to PEP 387:
Unless it is going through the deprecation process below, the behavior of an API must not change between any two consecutive releases.
And this includes:
Syntax and behavior of these constructs as defined by the reference manual
So PEP 526's "fully backwards compatible" just means that Python 3.5 (or to be scrupulous, pre-PEP526) syntax will be working in 3.6.0 without changes: variable annotations are not mandatory.
At last, you mentioned "comment type annotations". So I will just give a link to PEP 484, which is available for Python 3.5 (it might be useful for some readers of this question).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With