Python 3.x 引入了函数注释,以增强函数的注释功能,下面是一个普通的自定义函数:
def dog(name, age, species):
return (name, age, species)
添加了注释的自定义函数:
def dog(name:str, age:(1, 99), species:\'狗狗的品种\') -> tuple:
return (name, age, species)
如上,可以使用:
对参数逐个进行注释,注释内容可以是任何形式,比如参数的类型、作用、取值范围等等,返回值使用->
标注,所有的注释都会保存至函数的属性。
查看这些注释可以通过自定义函数的特殊属性__annotations__
获取,结果会议字典的形式返回:
dog.__annotations__
# {\'age\': (1, 99), \'name\': str, \'return\': tuple, \'species\': \'狗狗的品种\'}
另外,使用函数注释并不影响默认参数的使用:
def dog(name:str =\'dobi\', age:(1, 99) =3, species:\'狗狗的品种\' =\'Labrador\') -> tuple:
return (name, age, species)
运行结果:
dog()
# (\'dobi\', 3, \'Labrador\')