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命令行解析工具Argparse
Apr 20 Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 Python
Python基于Socket实现的简单聊天程序示例
Aug 05 Python
利用Python如何批量更新服务器文件
Jul 29 Python
Python小工具之消耗系统指定大小内存的方法
Dec 03 Python
Python处理session的方法整理
Aug 29 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
python定义类self用法实例解析
Jan 22 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
python opencv进行图像拼接
Mar 27 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 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下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
jQuery多媒体插件jQuery Media Plugin使用详解
2014/12/19 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python函数式编程指南(四):生成器详解
2015/06/24 Python
python插入排序算法实例分析
2015/07/03 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python实现随机选择元素功能
2017/09/14 Python
python3中的md5加密实例
2018/05/29 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
django模板结构优化的方法
2019/02/28 Python
python 堆和优先队列的使用详解
2019/03/05 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
体育教育专业自荐信范文
2013/12/20 职场文书
违纪检讨书2000字
2014/02/08 职场文书
陕西导游词
2015/02/04 职场文书
个人年度总结报告
2015/03/09 职场文书
催款通知书范文
2015/04/17 职场文书
亮剑观后感500字
2015/06/05 职场文书
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技