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调用浏览器并打开一个网址的例子
Jun 05 Python
归纳整理Python中的控制流语句的知识点
Apr 14 Python
详解python开发环境搭建
Dec 16 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
java中的控制结构(if,循环)详解
Jun 26 Python
python版百度语音识别功能
Jul 09 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
python实现飞船大战
Apr 24 Python
Django模板获取field的verbose_name实例
May 19 Python
Python 删除List元素的三种方法remove、pop、del
Nov 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
967 个函式
2006/10/09 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
2017/02/15 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
javascript 写类方式之二
2009/07/05 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
Python元组知识点总结
2019/02/18 Python
详解python编译器和解释器的区别
2019/06/24 Python
深入了解python中元类的相关知识
2019/08/29 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python