首页 > 代码库 > [PY3]——函数——函数注解 | 实现类型检查功能

[PY3]——函数——函数注解 | 实现类型检查功能

函数注解(Function Annotations)——> 可以在定义函数的时候对参数和返回值添加注解

 

写函数注解

#平时我们使用help()可以查看一个函数的说明,我们自己写的函数也可以提供这样的说明#第一种方式:直接在函数内 ‘‘‘写文本‘‘‘def add(x,y):   ‘‘‘x+y   @:param x int   @:param y int   @return int   ‘‘‘   return x+y#print(help(add))  Help on function add in module __main__:  add(x, y)      x+y      @:param x int      @:param y int      @return int  (END)# 第二种方式:更常用,是python中的函数注解语法# 参数:类型参数:"说明文本"  -> 返回值类型
def add(x:int,y:"It‘s a int") ->int: return x+y()print(help(add)) Help on function add in module __main__: add(x:int, y:"It‘s a int") -> int (END)

 

查看函数注解

function.__annotations__

# function.__annotations__print(sum.__annotations__)#{‘return‘: <class ‘int‘>, ‘lst‘: typing.List<~T>[int]}

inspect.signature

# inspect.signatureimport inspect# 获取函数注解sig=inspect.signature(add)print(sig)#(x:int, y:"It‘s a int") -> int# 获取函数参数(其输出是个有序字典)print(sig.parameters)#OrderedDict([(‘x‘, <Parameter "x:int">), (‘y‘, <Parameter "y:"It‘s a int"">)])## 获取指定参数注解 ### 法1:print(sig.parameters[x])#x:int# 法2:print(sig.parameters[x].annotation) #即利用parameters输出的有序字典来访问#<class ‘int‘>## 获取返回值注解 ##print(sig.return_annotation)#<class ‘int‘>print(sig.parameters.values())#odict_values([<Parameter "x:int">, <Parameter "y:int">])

 

[PY3]——函数——函数注解 | 实现类型检查功能