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 Django做网页
Nov 04 Python
python变量不能以数字打头详解
Jul 06 Python
浅析python中SQLAlchemy排序的一个坑
Feb 24 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
pandas计算最大连续间隔的方法
Jul 04 Python
Python坐标线性插值应用实现
Nov 13 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
使用pycharm运行flask应用程序的详细教程
Jun 07 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一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
jQuery 解析xml文件
2009/08/09 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
javascript 内存回收机制理解
2011/01/17 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
AngularJS实现textarea记录只能输入规定数量的字符并显示
2016/04/26 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
vue生命周期实例小结
2018/08/15 Javascript
推荐15个最好用的JavaScript代码压缩工具
2019/02/13 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
查看Django和flask版本的方法
2018/05/14 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
Python logging模块原理解析及应用
2020/08/13 Python
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
房地产还款计划书
2014/01/10 职场文书
初一英语教学反思
2014/01/11 职场文书
会计自荐信范文
2014/03/09 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书