文件名称:中的函数注解-编译系统透视++图解编译原理_
文件大小:9.16MB
文件格式:PDF
更新时间:2024-06-29 19:45:44
Python 学习手册 中文 高清文字版
Python 3.0中的函数注解
在Python 3.0中(但不包括Python 2.6),也可以给函数对象附加注解信息——与函数的
参数和结果相关的任意的用户定义的数据。Python为声明注解提供了特殊的语法,但是,它
自身不做任何事情;注解完全是可选的,并且,出现的时候只是直接附加到函数对象的
__annotations__属性以供其他用户使用。
我们在上一章中介绍了Python 3.0的keyword-only参数,注解则进一步使函数头部语法
通用化。考虑如下的不带注解的函数,它编写为带有3个参数并且返回一个结果:
>>> def func(a, b, c):
... return a + b + c
...
>>> func(1, 2, 3)
6
从语法上讲,函数注解编写在def头部行,就像与参数和返回值相关的任意表达式一
样。对于参数,它们出现在紧随参数名之后的冒号之后;对于返回值,它们编写于紧跟在参
数列表之后的一个->之后。例如,这段代码,注解了前面函数的3个参数及其返回值:
>>> def func(a: 'spam', b: (1, 10), c: float) -> int:
... return a + b + c
...
>>> func(1, 2, 3)
6
调用一个注解过的函数,像以前一样,不过,当注解出现的时候,Python将它们收集到
字典中并且将它们附加给函数对象自身。参数名变成键,如果编写了返回值注解的话,它存
储在键"return"下,而注解键的值则赋给了注解表达式的结果:
>>> func.__annotations__
{'a': 'spam', 'c':