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 Queue模块详解
Nov 30 Python
使用python检测主机存活端口及检查存活主机
Oct 12 Python
老生常谈Python序列化和反序列化
Jun 28 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
在Pandas中给多层索引降级的方法
Nov 16 Python
python实现顺时针打印矩阵
Mar 02 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
python生成器用法实例详解
Nov 22 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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中GET变量的使用
2006/10/09 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
php实现无限级分类
2014/12/24 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
javascript检测浏览器flash版本的实现代码
2011/12/06 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
详解python中TCP协议中的粘包问题
2019/03/22 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
python实现大文本文件分割
2019/07/22 Python
Tensorflow 多线程设置方式
2020/02/06 Python
医药销售求职信范文
2014/02/01 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
中层干部培训方案
2014/06/16 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
六年级学生评语大全
2014/12/26 职场文书
综合测评个人总结
2015/03/03 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
办公室日常管理制度
2015/08/04 职场文书
关于开学的感想
2015/08/10 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
Python中tqdm的使用和例子
2022/09/23 Python