2
什么是Python 3.6中的变量注释?
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__属性为第三方工具和库指定结构化类型元数据的简便方法。 因此,根据我的阅读,它们是来自Python 3.5的类型提示的一部分,如Python 3.5中的类型提示中所述。 我遵循captain: str和class Starship示例,但不确定最后一个示例:如何primes: List[int] = []解释?它是否定义了一个只允许整数的空列表?