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