这两种都是Python 中的类型注解
一、变量名后加冒号“:”
var: type = value
这是 Python 3.5 中引入的 Type Annotation,是一种注解,用来提示变量的类型。其中
var
为要定义的变量;type
为该变量期待的类型;value
为赋给该变量的值。
这种用法本质上和 var = value
相同,只是加上了 var
的类型说明。例如:
a: int = 10
这行代码将 10 赋值给变量 a
,并指出变量 a
的类型是 int
型。
此外,类型注解也经常用在函数参数中,可以向函数的调用者提示参数类型:
def func(arg: int)
那么调用者调用函数 func
时就知道参数 arg
应该是一个 int
类型。
需要注意的是,类型注解只是一种提示,并非强制的,Python 解释器不会去校验 value
的类型是否真的是 type
,它只是在提示调用者该参数的类型。例如:
a: str = 10
这样是没有错的,python 解释器在执行时会把 a
当作 int
来操作。
二、函数后面的箭头“->”
“->”为函数标注,通常用于类型提示,是python3中引入的用法。
例如以下函数接受Tensor、str类型的参数,并返回一个 int 类型的值:
def myfunc(a: Tensor, b: str) -> int :
# 函数体
return 返回值