Python函数注解

Python函数注解教程

Python3 中新增了函数注解功能,函数 注解的官方解释是,“函数注解是关于用户自定义函数使用类型的完全可选的元信息”。

简单的理解函数注解就是,为函数中的 形参返回值 提供类型提示信息,从而方便开发者调用函数。

Python函数注解详解

语法

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 是对该函数返回的值的说明信息。

Python获取函数注解信息详解

语法

print(func_name.__annotations__)

参数

参数 描述
func_name 需要获取注解信息的函数。

说明

我们使用 func_name.__annotations__ 语句可以获取函数名为 func_name 的注解信息。

案例

Python函数注解

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__)

程序运行后,控制台输出如下:

69_python函数注解.png

首先,我们定义了一个函数 circle,该函数传入一个圆的半径,返回圆的周长。我们在定义函数时,给函数的参数设置了注解信息为:“圆的半径”,给函数的返回值设置了注解信息为:“返回圆的半径”。

最后,我们调用该函数,并使用 circle.__annotations__ 获取函数的注解信息。

Python函数注解带默认值

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__)

程序运行后,控制台输出如下:

70_python函数注解.png

首先,我们定义了一个函数 my_sum,该函数传入两个参数,返回这两个参数之间所有数的和。

我们在定义函数时,给函数的第一个参数设置了注解信息为:“开始的数”,给函数的第二个参数设置了注解信息为:“结束的数”,给函数的返回值设置了注解信息为:“开始数到结束数所有数的和”,同时,我们给函数的第二个参数设置了默认值 100。

最后,我们调用该函数,并使用 my_sum.__annotations__ 获取函数的注解信息。

Python函数注解总结

函数注解就是,为函数中的形参和返回值提供类型提示信息,从而方便开发者调用函数。Python 函数注解语法:

def func(param1:param1 note, param2:param2 note=default val)->return val note: pass