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 django集成cas验证系统
Jul 14 Python
python使用win32com库播放mp3文件的方法
May 30 Python
python批量提取word内信息
Aug 09 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
用python找出那些被“标记”的照片
Apr 20 Python
详解Python pygame安装过程笔记
Jun 05 Python
详解python里使用正则表达式的全匹配功能
Oct 19 Python
Python subprocess模块详细解读
Jan 29 Python
python实时监控cpu小工具
Jun 21 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 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
php数组应用之比较两个时间的相减排序
2008/08/18 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
微信小程序 JS动态修改样式的实现代码
2017/02/10 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
使用C++扩展Python的功能详解
2018/01/12 Python
Python iter()函数用法实例分析
2018/03/17 Python
python实现整数的二进制循环移位
2019/03/08 Python
python模拟菜刀反弹shell绕过限制【推荐】
2019/06/25 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
大学生优秀团员事迹材料
2014/01/30 职场文书
大型晚会策划方案
2014/02/06 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
解决MySQL报“too many connections“错误
2022/04/19 MySQL