最近有人问我这在python中是什么意思:
>>> char : str
我不知道。我以前从未见过。我检查了文档,没有类似的东西。一个人的建议是它是静态类型声明,但是在文档中也绝对没有任何内容。
有了以上,如果我 >>> type(char)失败了
>>> type(char)
如果我>>> char : str = 'abc'可以,并且type(char)的结果是<class: str>。但是它不能是静态声明,因为我可以>>> char : str = 4并且type(char)变为<class: int>。
>>> char : str = 'abc'
<class: str>
>>> char : str = 4
<class: int>
所以我来这里是为了收集许多SO霸主的智慧。这意味着什么?
您正在查看变量的 注释 。提示已移至__annotations__映射:
__annotations__
>>> char: str >>> __annotations__ {'char': <class 'str'>}
变量注释在那里支持第三方工具,例如类型检查器;该语法是Python 3.6中的新增功能。
请参阅PEP 526- 变量注释的语法 ,以及 Python 3.6的新增功能 :
就像函数注释一样,Python解释器不会在变量注释中附加任何特殊含义,而仅将它们存储在__annotations__类或模块的属性中。