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找出序列中出现最多的元素示例代码
Dec 08 Python
对pandas中Series的map函数详解
Jul 25 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
python实现倒计时小工具
Jul 29 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
Python pandas库中的isnull()详解
Dec 26 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
Python实现Appium端口检测与释放的实现
Dec 31 Python
基于python制作简易版学生信息管理系统
Apr 20 Python
python中if和elif的区别介绍
Nov 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 输出双引号"与单引号'的方法
2010/05/09 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
javascript self对象使用详解
2016/10/18 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
总结4个方面优化Vue项目
2019/02/11 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
详解Python中的__new__()方法的使用
2015/04/09 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
python3实现表白神器
2019/04/09 Python
pandas分区间,算频率的实例
2019/07/04 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
python爬虫 requests-html的使用
2020/11/30 Python
智能钱包:Ekster
2019/11/21 全球购物
消防先进事迹材料
2014/02/10 职场文书
三年级小学生评语
2014/04/22 职场文书
企业宣传口号
2014/06/12 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
java解析XML详解
2021/07/09 Java/Android