Python中字符串的格式化方法小结


Posted in Python onMay 03, 2016

老办法

Python2.6之前,格式字符串的使用方法相对更简单些,虽然其能够接收的参数数量有限制。这些方法在Python3.3中仍然有效,但已有含蓄的警告称将完全淘汰这些方法,目前还没有明确的时间进度表。

格式化浮点数:

pi = 3.14159
print(" pi = %1.2f ", % pi)

多个替换值:

s1 = "cats"
s2 = "dogs"
s3 = " %s and %s living together" % (s1, s2)

没有足够的参数:

使用老的格式化方法,我经常犯错"TypeError: not enough arguments for formating string",因为我数错了替换变量的数量,编写如下这样的代码很容易漏掉变量。

set = (%s, %s, %s, %s, %s, %s, %s, %s) " % (a,b,c,d,e,f,g,h,i)

对于新的Python格式字符串,可以使用编号的参数,这样你就不需要统计有多少个参数。

set = set = " ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}) ".format(a,b,c,d,e,f,g)

Python 2.x 基于字典字符串格式化

"%(n)d %(x)s" %{"n":1, "x":"spam"}
reply = """
Greetings...
Hello %(name)s!
Your age squared is %(age)s
"""
values = {'name':'Bob', 'age':40}
print rely % values

Python 3.x format方法格式化

template = '{0},{1} and {2}'
template.format('spam','ham','eggs')

template = '{motto}, {pork} and {food}'
template.format(motto='spam', pork='ham', food='eggs')

template = '{motto}, {0} and {food}'
template.format('ham', motto='spam', food='eggs')

'{motto}, {0} and {food}'.format(42, motto=3.14, food=[1,2,3])
Python 相关文章推荐
Python进程通信之匿名管道实例讲解
Apr 11 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
python中字典(Dictionary)用法实例详解
May 30 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
Mar 24 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 Python
Python实现约瑟夫环问题的方法
May 03 #Python
Python实现堆排序的方法详解
May 03 #Python
python web框架学习笔记
May 03 #Python
Python批量修改文本文件内容的方法
Apr 29 #Python
Python+Opencv识别两张相似图片
Mar 23 #Python
Python实现包含min函数的栈
Apr 29 #Python
Python二叉搜索树与双向链表转换实现方法
Apr 29 #Python
You might like
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
PHP中读写文件实现代码
2011/10/20 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
vue项目打包后打开页面空白解决办法
2018/06/29 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
Vue实现图书管理案例
2021/01/20 Vue.js
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
python实现windows下文件备份脚本
2018/05/27 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
python模拟实现分发扑克牌
2020/04/22 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
庆中秋节主题活动方案
2014/02/03 职场文书
读群众路线的心得体会
2014/09/03 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
交通事故协议书范本
2014/11/18 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书