python中的格式化输出用法总结


Posted in Python onJuly 28, 2016

本文实例总结了python中的格式化输出用法。分享给大家供大家参考,具体如下:

Python一共有两种格式化输出语法。

一种是类似于C语言printf的方式,称为 Formatting Expression

>>> '%s %d-%d' % ('hello', 7, 1)
'hello 7-1'

另一种是类似于C#的方式,称为String Formatting Method Calls

>>> '{0} {1}:{2}'.format('hello', '1', '7')
'hello 1:7'

第一种方式可以指定浮点数的精度,例如

>>> '%.3f' % 1.234567869
'1.235'

运行时动态指定浮点数的精度

但是当代码在运行中如何动态地通过参数来指定浮点数的精度呢?

python的神奇之处在于它又提供了一种非常方便的语法。只需要在 typecode(这里是f)之前加一个 *,浮点数的精度就用它前面的数字来指定。

>>> for i in range(5):
... '%.*f' % (i, 1.234234234234234)
...
'1'
'1.2'
'1.23'
'1.234'
'1.2342'

通过输出结果可以看出,精度都是在运行时动态指定,这样就省去了格式化字符串的拼凑。

使用 String Formatting Method Calls 可以更简洁地完成功能。

>>> for i in range(5):
...  '{0:.{1}f}'.format(1 / 3.0, i)
...
'0'
'0.3'
'0.33'
'0.333'
'0.3333'

实现一个简单的模板工具

Django提供的模板语言,可以让我们通过一个dict(字典)把python变量绑定的html文件中,其实利用python的格式化输出我们也可以仅仅做一个文本替换功能。

>>> replay = """
... Hello World Cup...
... Germany vs Brazil
... %(germany)d : %(brazil)d"""
>>> print(replay % {'germany': 7, 'brazil': 1})
Hello World Cup...
Germany vs Brazil
7 : 1

还可以这样玩

>>> germany = 7
>>> brazil = 1
>>> '%(germany)d : %(brazil)d' % vars()
'7 : 1'

在格式化字符串中访问对象属性和字典键值

>>> 'My {1[kind]} runs {0.platform}'.format(sys, {'kind': 'pc'})
'My pc runs linux'
>>> 'My {map[kind]} runs {sys.platform}'.format(sys=sys, map={'kind': 'pc'})
'My pc runs linux'

在格式化字符串中通过下标(正整数)访问list元素

>>> somelist = list('SPAM')
>>> 'first={0[0]}, third={0[2]}'.format(somelist)
'first=S, third=A'
>>> 'first={0}, last={1}'.format(somelist[1], somelist[-1])
'first=P, last=M'
>>> parts = somelist[0], somelist[-1], somelist[1:-1]
>>> 'first={0}, last={1}, middle={2}'.format(*parts)
"first=S, last=M, middle=['P', 'A']"
>>>

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

Python 相关文章推荐
python调用staf自动化框架的方法
Dec 26 Python
Python中的random.uniform()函数教程与实例解析
Mar 02 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
django ModelForm修改显示缩略图 imagefield类型的实例
Jul 28 Python
解析python实现Lasso回归
Sep 11 Python
python 发送json数据操作实例分析
Oct 15 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
pandas分批读取大数据集教程
Jun 06 Python
Python虚拟环境库virtualenvwrapper安装及使用
Jun 17 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
python使用numpy中的size()函数实例用法详解
Jan 29 Python
Python 机器学习工具包SKlearn的安装与使用
May 14 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
浅谈python类属性的访问、设置和删除方法
Jul 25 #Python
You might like
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
web前端开发也需要日志
2010/12/09 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
JS制作简单的三级联动
2015/03/18 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python中pygame安装方法图文详解
2015/11/11 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
Python中函数参数匹配模型详解
2019/06/09 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python 合并多个excel中同名的sheet
2021/01/22 Python
python实现简单的学生管理系统
2021/02/22 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
专业实习自我鉴定
2013/10/29 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
读书活动总结
2014/04/28 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书