热线电话:13121318867

登录
2019-04-08 阅读量: 464
函数注解

在 Python 3 中可以给函数对象附加注解信息 —— 与函数的参数和结果相关的任意的用户自定义的数据。Python为声明注解提供了特殊的语法,但是,它自身不做任何事情。注解完全是可选的,并且,出现的时候只是直接附加到函数对象的 __annotations__ 属性以供其他用户使用。

参数可以在参数名称后面带有 “: expression” 形式的注解。任何参数都可以具有注解,即使是 *args 或 \kwargs 形式。函数可以在参数列表的后面带有 “ -> expression ” 形式的 “返回值” 注解。这些注解可以是任何有效的 Python 表达式,并且在执行函数定义时计算。注解可能以不同于它们在源代码中出现的顺序计算。注解的存在不改变函数的语义。注解的值可以通过函数对象的 __annotations__ 字典属性访问,以参数的名称作为键。

调用一个注解过的函数,像以前一样,不过,当注解出现的时候,Python 将他们收集到字典中并且将它们附加给函数对象自身。参数名编程键,如果写了返回值注解的话,它存储在键 "return" 下,而注解的值则赋给了注解表达式的结果。

由于注解只是附加到一个 Python 对象的 Python 对象,注解可以直接处理。

如果编写了注解的话,仍然可以对参数使用默认值 —— 注解出现在默认值之前。

17.8156
1
关注作者
收藏
评论(0)

发表评论

暂无数据