我正在尝试创建一个python包(目前不在任何地方),我想使用3.6 python变量注释,即
foo: int = 5
同时仍然支持Python 3.5。
有没有办法在Python 3.5中通过
提供这些样式的变量注释from __future__ import variable_annotations
或类似的。我知道可以使用注释类型注释,但我希望能够使用这种风格。
答案 0 :(得分:5)
TLDR :不,您不能在Python 3.5及更早版本中使用变量注释。
首先,Python 3.6.0 changelog报告变量注释是3.5的一项新功能。
第二,PEP 526被定义为backward compatible。根据{{3}}:
除非正在经历下面的弃用过程,否则行为 API的版本不得在任何两个连续的发行版之间更改。
其中包括:
参考所定义的这些结构的语法和行为 手册
因此,PEP 526的“ PEP 387”仅表示Python 3.5(或更严格地说是PEP526之前的版本)语法将在3.6.0中工作,而无需进行更改:变量注释fully backwards compatible。
最后,您提到了“注释类型注释”。因此,我将仅提供指向are not mandatory的链接,该链接可用于Python 3.5(此问题的某些读者可能会有用)。