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实现将文本生成二维码的方法示例
Jul 18 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
Django模板语言 Tags使用详解
Sep 09 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
Python实现投影法分割图像示例(二)
Jan 17 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
Sep 14 Python
python反爬虫方法的优缺点分析
Nov 25 Python
pycharm远程连接服务器并配置python interpreter的方法
Dec 23 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和XSL stylesheets转换XML文档
2006/10/09 PHP
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
基于jquery用于查询操作的实现代码
2010/05/10 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
Python寻找路径和查找文件路径的示例
2019/07/10 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
python3访问字典里的值实例方法
2020/11/18 Python
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
销售经理工作职责
2014/02/03 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
伦敦奥运会口号
2014/06/13 职场文书
世界遗产导游词
2015/02/13 职场文书
公司财务部岗位职责
2015/04/14 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python