函数注解是可选的用户自定义函数类型的元数据完整信息。
标注以字典的形式存放在函数的annotations属性中,并且不会影响函数的任何其他部分。 形参标注的定义方式是在形参名后加冒号,后面跟一个表达式,该表达式会被求值为标注的值。返回值标注的定义方式是加组合符号 ->,后面跟一个表达式,该标注位于形参列表和表示def语句结束的冒号之间。下面的示例有一个必须的参数,一个可选的关键字参数以及返回值都带有相应的标注:
>>> def f(ham: str, eggs: str = 'eggs') -> str:
... print("Annotations:", f.__annotations__)
... print("Arguments:", ham, eggs)
... return ham + ' and ' + eggs