什么是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] = []
解释?它是否定义了一个只允许整数的空列表?
慕斯王
相关分类