您的位置:首页 > 编程语言 > Python开发

PEP3107概述

2016-12-01 17:10 78 查看
诚如提案开头所述:本提案旨在为Python函数引入一个添加元数据注释(metedata annotation)的语法。

函数标注的基础(Fundamentals of Function Annotations)部分,提案介绍了注释的特征和作用。

对应提案列出的两条,这里就用中文翻译过来:

参数和返回值的函数标注都是完全可选的(completely optional)。

函数标注只是提供了一个在编译时(compile-time)将任意Python表达式和函数不同部分关联起来的方式。

也就是说,Python没有为函数标注附加特殊的含义。

在提案语法(Syntax)部分,分别介绍了参数(parameters)和返回值(return-values)的语法格式。参数的语法要求函数注释以可选表达式的形式紧跟在参数名之后,格式为
parameter[:expression]
。特别地,对于超量参数(即以
*args
**kwargs
格式出现的参数)格式要求类似于:
*args[:annotation]
**kwargs[:annotation]
。讲到返回值的函数标注,格式要符合
->expression
->
取字面意,即是一种标记,
expression
是任意的Python表达式,该格式出现的位置参考以下演示:

def sum() -> expression:

......(函数体)


函数定义经过编译后,函数标注可以从函数的
func_annotations
属性中取到。这个属性的类型是Python字典类型,字典的键是参数名称,字典的值是标注表达式估值后的对象。字典中有一个特殊的键
return
,只有当返回值标注存在的时候它才存在。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 注释 函数