Python格式化输出:%s和format对比
历史起源:
目前版本的python两种格式化输出都支持
老:%s (python2.5之前)
新:format() (python2.6发布)
个人比较
目前还没有发现两种格式化输出哪种更有明显优势,虽然相对来说%s会缺失一些功能,但我觉得基本上能满足大部分使用场景,选择一种熟练掌握就能满足日常大部分需求了。
%s的格式化输出相较于format()的劣势:
- 不能使用位置格式化填充。
- 不能居中填充。
- 不便于使用特定符号进行填充。
- 待补充。
其他人对于两种格式化输出的对比评价
“虽然老式的语法,兼容性很好,但是它的功能很少,很难完成复杂的任务,而format()函数进行格式化输出,功能更加强大”
基本用法
%s
a = '祝%s%s快乐'%('爸爸','父亲节')
)
format()
a ='祝{}{}快乐'.format('爸爸','父亲节')
![](https://i-blog.csdnimg.cn/blog_migrate/ef32444ae5e6ab426fcfd93c275f68fd.png#pic_center)
format格式化填充
大括号{}中写的是format()传入值所对应的下标
a ='祝{1}{0}快乐'.format('父亲节','爸爸')
大括号{}中的表露和format()传入值是一一对应的
a ='祝{人物}{节日}快乐'.format(人物 = '爸爸',节日 = '父亲节')
![](https://i-blog.csdnimg.cn/blog_migrate/9b2bdf60adf74cfaad34346a23ee52ca.png#pic_center)