函数注释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

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐