最近有人问我这在Python中是什么意思:
>>> char : str
我一点也不知道。我查了一下文档,没有类似的东西。一种建议是它是静态类型声明,但文档中也绝对没有关于这一点的内容。
在上述情况下,如果我>>> type(char)它会失败
如果我使用( >>> char : str = 'abc' )类型,它就可以工作,结果为<class: str>。它不能是静态声明,因为我可以>>> char : str = 4,类型(Char)变成了<class: int>。
那是什么意思?
发布于 2018-08-02 01:46:18
您正在查看变量的注释。该提示将移动到__annotations__映射:
>>> char: str
>>> __annotations__
{'char': <class 'str'>}变量注释是为了支持第三方工具,比如类型检查器;该语法是Python3.6中的新语法。
请参见PEP 526 -- 和
就像函数批注一样,Python解释器不会为变量批注附加任何特定的含义,而只是将它们存储在类或模块的
__annotations__属性中。
https://stackoverflow.com/questions/51639332
复制相似问题