赞
赏
Python3 中新增了函数注解功能,函数 注解的官方解释是,“函数注解是关于用户自定义函数使用类型的完全可选的元信息”。
简单的理解函数注解就是,为函数中的 形参 和 返回值 提供类型提示信息,从而方便开发者调用函数。
def func(param1:param1 note, param2:param2 note=default val)->return val note:
pass
参数 | 描述 |
---|---|
param1 | 形参1。 |
param1 note | 形参1 的注解。 |
param2 | 形参2。 |
param2 note | 形参2 的注解。 |
default val | 形参2的默认值。 |
val note | 返回值的注解。 |
我们定义了一个带函数注解的函数 func,该函数接受两个参数,第一个参数为 param1,第二个参数为 param2,返回一个返回值。
其中 param1 note
是对参数 param1 的说明信息,param2 note
是对参数 param2 的说明信息,default val
是参数 param2 的默认值。
return val note
是对该函数返回的值的说明信息。
print(func_name.__annotations__)
参数 | 描述 |
---|---|
func_name | 需要获取注解信息的函数。 |
我们使用 func_name.__annotations__
语句可以获取函数名为 func_name 的注解信息。
Python 函数注解
print("嗨客网(www.haicoder.net)")
def circle(r:'圆的半径')->'返回圆的半径':
return 3.14 * 2 * r
circle_res = circle(10)
print("circle_res =", circle_res)
print(circle.__annotations__)
程序运行后,控制台输出如下:
首先,我们定义了一个函数 circle,该函数传入一个圆的半径,返回圆的周长。我们在定义函数时,给函数的参数设置了注解信息为:“圆的半径”,给函数的返回值设置了注解信息为:“返回圆的半径”。
最后,我们调用该函数,并使用 circle.__annotations__
获取函数的注解信息。
Python 函数注解带默认值
print("嗨客网(www.haicoder.net)")
def my_sum(num1:'开始的数', num2:'结束的数'=100)->'开始数到结束数所有数的和':
res = 0
for i in range(num1, num2+1):
res = res + i
return res
sum_res = my_sum(1, 50)
print("sum_res =", sum_res)
sum_res = my_sum(1)
print("sum_res =", sum_res)
print(my_sum.__annotations__)
程序运行后,控制台输出如下:
首先,我们定义了一个函数 my_sum,该函数传入两个参数,返回这两个参数之间所有数的和。
我们在定义函数时,给函数的第一个参数设置了注解信息为:“开始的数”,给函数的第二个参数设置了注解信息为:“结束的数”,给函数的返回值设置了注解信息为:“开始数到结束数所有数的和”,同时,我们给函数的第二个参数设置了默认值 100。
最后,我们调用该函数,并使用 my_sum.__annotations__
获取函数的注解信息。
函数注解就是,为函数中的形参和返回值提供类型提示信息,从而方便开发者调用函数。Python 函数注解语法:
def func(param1:param1 note, param2:param2 note=default val)->return val note:
pass