函数注释Function Annotations

可做为函数额外的注释来用。函数注释是一个可选功能,它允许在函数参数和返回值中添加任意的元数据。无论是 Python 本身还是标准库,都使用了函数注释,第三方项目可以很方便的使用函数注释来进行文档编写、类型检查、或者是其他用途。

函数注释包括:
参数注释:以冒号(:)标记
返回值注释:以 -> 标记

def foo(a: expression, b: expression = 5) -> expression:
    ...

示例:

def func(a: 'haha', b: (1, 10), c: float) -> int:
  return a + b + c
print(func(1, 2, 3))
>>> 6

这些注释信息都是函数的元信息,存储在函数的__annotations__属性里。
需要注意,注解对Python解释器没任何意义,python对不做检查,不做强制,不做验证!什么都不做。
annotations ,它是一个映射(dict),用于将每个参数名(key)映射到其相关的注释(value)。
查看所有的annotation,可通过如下语句:

print(func.__annotations__)
>>> {'a': 'haha', 'b': (1, 10), 'c': <class 'float'>, 'return': <class 'int'>}

动态注释
annotations 是函数的一个属性,类型为 dict。由于 dict 是可变的,这意味着,可以在程序运行时动态地修改注释。

def sum(a, b) -> 0:    
	result = a + b
	sum.__annotations__['return'] += result
	return result


>>> sum.__annotations__['return']
0
>>> sum(1, 2)
3
>>> sum.__annotations__['return']
3
>>> sum(3, 4)
7
>>> sum.__annotations__['return']
10
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐