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代码调试的几种方法总结
Apr 15 Python
python2.7的编码问题与解决方法
Oct 04 Python
python实现人脸识别代码
Nov 08 Python
机器学习的框架偏向于Python的13个原因
Dec 07 Python
Python 创建空的list,以及append用法讲解
May 04 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
python爬取指定微信公众号文章
Dec 20 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
如何通过python画loss曲线的方法
Jun 26 Python
django数据库自动重连的方法实例
Jul 21 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
pandas中对文本类型数据的处理小结
Nov 01 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+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
JS常用函数使用指南
2014/11/23 Javascript
Js获取当前日期时间及格式化代码
2016/09/17 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
python中logging模块的一些简单用法的使用
2019/02/22 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
Juicy Couture Beauty官方网站:香水和化妆品
2019/03/12 全球购物
2014年中班元旦活动方案
2014/02/14 职场文书
经销商订货会主持词
2014/03/27 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
中国世界遗产导游词
2015/02/13 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers