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中对列表排序实例
Jan 04 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
Apr 28 Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
利用Python实现Windows定时关机功能
Mar 21 Python
Python使用正则表达式抓取网页图片的方法示例
Apr 21 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
Python异步操作MySQL示例【使用aiomysql】
May 16 Python
Python实现FTP文件传输的实例
Jul 07 Python
python tkinter实现下载进度条及抖音视频去水印原理
Feb 07 Python
python元组拆包实现方法
Feb 28 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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
Protoss魔法科技
2020/03/14 星际争霸
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
浏览器调试动态js脚本的方法(图解)
2018/01/19 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
vue实现数字滚动效果
2020/06/29 Javascript
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
flask框架url与重定向操作实例详解
2020/01/25 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
html5中localStorage本地存储的简单使用
2017/06/16 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
Python如何定义一个函数
2015/09/01 面试题
创先争优承诺书范文
2014/03/31 职场文书
1亿有多大教学反思
2014/05/01 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
简爱电影观后感
2015/06/10 职场文书