最佳答案
Python 3.6即将发布。PEP 494—— Python 3.6发布时间表提到了12月底,所以我查了一下 Python 3.6中的新特性,看到他们提到了 变量注释变量注释:
PEP 484 引入了函数参数的类型注释标准,也就是类型提示。这个 PEP 将语法添加到 Python 中,用于注释包括类变量和实例变量在内的变量类型:
primes: List[int] = [] captain: str # Note: no initial value! class Starship: stats: Dict[str, int] = {}
与函数注释一样,Python 解释器不会为变量注释附加任何特定含义,而只是将它们存储在类或模块的特殊属性
__annotations__
中。与静态类型语言中的变量声明不同,注释语法的目标是提供一种简单的方法,通过抽象语法树和__annotations__
属性为第三方工具和库指定结构化类型元数据。
So from what I read they are part of the type hints coming from Python 3.5, described in What are Type hints in Python 3.5.
我遵循 captain: str
和 class Starship
的例子,但是不确定最后一个: primes: List[int] = []
是如何解释的?它是否定义了一个只允许整数的空列表?