参数注解:
函数定义的弊端
为了解决动态语言定义的弊端
增加文档Documentation String
这只是一个管理,不是强制标准,不能要求程序员一定为函数提供说明文档
函数定义更新了,文档未必同步更新
def add(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)
:param x:int
:param y:int
:return:int
None
为了解决这种弊端出现了函数注解
def add(x:int,y:int) -> int:
'''
:param x:int
:param y:int
:return:int
'''
return x + y
print(help(add))
Help on function add in module __main__:
add(x:int, y:int) -> int
:param x:int
:param y:int
:return:int
None
print(add(4,5))
9
print(add('a','b'))
ab
函数注解Function Annotations
参数注解:
Python 3.5引入
对函数的参数进行类型注解
对函数的返回值类型注解
只对函数参数做一个辅助的说明,并不对函数参数进行类型检查
提供给第三方工具,做代码分析,发现隐藏的bug
函数注解的信息,保存在__annotations__属性中
def add(x:int,y:int) -> int:
return x + y
add.__annotations__
{
'x': int