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模拟登陆Tom邮箱示例分享
Jan 13 Python
Python不规范的日期字符串处理类
Jun 10 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
python实现在一个画布上画多个子图
Jan 19 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python基于Twilio及腾讯云实现国际国内短信接口
Jun 18 Python
Python 如何定义匿名或内联函数
Aug 01 Python
python 绘制正态曲线的示例
Sep 24 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
python使用re模块爬取豆瓣Top250电影
Oct 20 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 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
laravel安装和配置教程
2014/10/29 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
jQuery实现带延时功能的水平多级菜单效果【附demo源码下载】
2016/09/21 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
Python sys.path详细介绍
2013/10/17 Python
python机器学习之神经网络实现
2018/10/13 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
pyshp创建shp点文件的方法
2018/12/31 Python
python日志logging模块使用方法分析
2019/05/23 Python
python3调用windows dos命令的例子
2019/08/14 Python
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
《童趣》教学反思
2014/02/19 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
校长寄语大全
2014/04/09 职场文书
产品生产计划书
2014/05/07 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python