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实现拉钩网上的FizzBuzzWhizz问题示例
May 05 Python
从零学Python之hello world
May 21 Python
简单介绍Python中的decode()方法的使用
May 18 Python
在Python程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
python实现数据写入excel表格
Mar 25 Python
Python 获取div标签中的文字实例
Dec 20 Python
在python里从协程返回一个值的示例
Feb 19 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
Sep 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原创论坛
2006/10/09 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
PHP 类相关函数的使用详解
2013/05/10 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
javascript+xml技术实现分页浏览
2008/07/27 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
解决Mac安装scrapy失败的问题
2018/06/13 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
python使用正则筛选信用卡
2019/01/27 Python
python爬虫 正则表达式解析
2019/09/28 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
白酒业务员岗位职责
2013/12/27 职场文书
关于运动会的稿件
2014/02/02 职场文书
乡镇创先争优活动总结
2014/08/28 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
要账委托书范本
2014/09/15 职场文书
五年级下册复习计划
2015/01/19 职场文书
给老师的感谢信
2015/01/20 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
《确定位置》教学反思
2016/02/18 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL