Python中变量名后面加冒号是什么意思?--variable annotations

读一Python code如下, 见定义的变量后面多一冒号,对有C语言基础的人来说,顿感陌生??

model: torchvision.models.detection.MaskRCNN = get_instance_segmentation_model(num_classes)

 

Variable annotations

经查阅,这叫“变量注释”(variable annotations),Python3.6引入:

参见:https://docs.python.org/3/whatsnew/3.6.html?highlight=annotation

示例:

primes: List[int] = []
captain: str  # Note: no initial value!
class Starship:
    stats: Dict[str, int] = {}

 

官方解释如下

Python 解释器不会附加任何特定的意义给variable annotations,仅仅把它们 存储在class或 module的__annotations__属性里.

目的是为:第三方工具或库,经由抽象语法树或__annotations__属性指定结构化类型的元数据。

 

明白是什么意思了吧?

总之,知道后面是一个类型即可。

 

你可能感兴趣的:(Python)