python3新特性函数注释Function Annotations用法分析


Posted in Python onJuly 28, 2016

本文分析了python3新特性函数注释Function Annotations用法。分享给大家供大家参考,具体如下:

Python 3.X新增加了一个特性(Feature),叫作函数注释 Function Annotations

它的用途虽然不是语法级别的硬性要求,但是顾名思义,它可做为函数额外的注释来用。

Python中普通的函数定义如下:

def func(a, b, c):
  return a + b + c
>>> func(1, 2, 3)
6

添加了函数注释的函数会变成如下形式:

def func(a: 'spam', b: (1, 10), c: float) -> int:
  return a + b + c
>>> func(1, 2, 3)
6

注释的一般规则是参数名后跟一个冒号(:),然后再跟一个expression,这个expression可以是任何形式。

返回值的形式是 -> int,annotation可被保存为函数的attributes。

查看所有的annotation,可通过如下语句:

>>> func.__annotations__
{'c': <class 'float'>, 'a': 'spam', 'b': (1, 10), 'return': <class 'int'>}

如果为函数增加了注释,可不可以继续使用默认参数呢?答案是肯定的。

>>> def func(a: 'spam' = 4, b: (1, 10) = 5, c: float = 6) -> int:
...  return a + b + c
...
>>> func(1, 2, 3)
6
>>> func()
15
>>> func(1, c=10)
16
>>> func.__annotations__
{'c': <class 'float'>, 'a': 'spam', 'b': (1, 10), 'return': <class 'int'>}

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 输出一个两行字符的变量
Feb 05 Python
python的else子句使用指南
Feb 27 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
python机器学习之神经网络(二)
Dec 20 Python
python中的随机函数小结
Jan 27 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
想学python 这5本书籍你必看!
Dec 11 Python
python实现淘宝购物系统
Oct 25 Python
tensorflow图像裁剪进行数据增强操作
Jun 30 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
python中的格式化输出用法总结
Jul 28 #Python
Python中字符串的常见操作技巧总结
Jul 28 #Python
Python中不同进制的语法及转换方法分析
Jul 27 #Python
深入理解Python装饰器
Jul 27 #Python
python批量制作雷达图的实现方法
Jul 26 #Python
python 添加用户设置密码并发邮件给root用户
Jul 25 #Python
Python文件夹与文件的相关操作(推荐)
Jul 25 #Python
You might like
php文件管理基本功能简单操作
2017/01/16 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
php实现的生成排列算法示例
2019/07/25 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
js中遍历对象的属性和值的方法
2016/07/27 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
Python分析学校四六级过关情况
2017/11/22 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
使用Python进行目录的对比方法
2018/11/01 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Pycharm github配置实现过程图解
2020/10/13 Python
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
HTML文本属性&amp;颜色控制属性的实现
2019/12/17 HTML / CSS
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
宿舍打麻将检讨书
2014/01/24 职场文书
市场部管理制度
2014/02/02 职场文书
五好党支部事迹材料
2014/02/06 职场文书
篝火晚会策划方案
2014/05/16 职场文书
项目申请汇报材料
2014/08/16 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
mysql主从复制的实现步骤
2021/10/24 MySQL