读一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__
属性指定结构化类型的元数据。
明白是什么意思了吧?
总之,知道后面是一个类型即可。