Skip to content

函数注解

函数注解是可选的用户自定义函数类型的元数据完整信息。
https://docs.python.org/zh-cn/3/tutorial/controlflow.html#function-annotations

函数注解

  • 标注以字典的形式存放在函数的 __annotations__ 属性中,并且不会影响函数的任何其他部分。
  • 形参标注的定义方式是在形参名后加冒号,后面跟一个表达式,该表达式会被求值为标注的值。
  • 返回值标注的定义方式是加组合符号 ->,后面跟一个表达式,该标注位于形参列表和表示 def 语句结束的冒号之间。
  • 任何形参都可以带有标注,甚至 *args**kwargs 这样的形参也可以。
python
def _sum(x: int, y: int = 10) -> int:
    # {'x': <class 'int'>, 'y': <class 'int'>, 'return': <class 'int'>}
    print(_sum.__annotations__)
    return x + y


print(_sum(2, 5))       # 7
print(_sum(2))          # 12
print(_sum('2', '5'))   # '25'