python字符串格式化 % vs format优缺点与区别【面试题详解】

今天爱分享给大家带来python字符串格式化 % vs format优缺点与区别【面试题详解】,希望能够帮助到大家。

Python2.6中引入string.format()方法,语法和原先%操作符的字符串格式化差异较大

在什么情况下使用哪种更好?

以下的输出是一致的,有什么区别

#!/usr/bin/python
sub1 = "python string!"
sub2 = "an arg"
a = "i am a %s"%sub1
b = "i am a {0}".format(sub1)
c = "with %(kwarg)s!"%{'kwarg':sub2}
d = "with {kwarg}!".format(kwarg=sub2)
print a
print b
print c
print d

.format 看起来更加强大,可以用在很多情况.

例如你可以在格式化时重用传入的参数,而你用%时无法做到这点

另一个比较讨厌的是,%只处理 一个变量或一个元组, 你或许会认为下面的语法是正确的

"hi there %s" % name

但当name恰好是(1,2,3)时,会抛出TypeError异常.为了保证总是正确的,你必须这么写

"hi there %s" % (name,)   # supply the single argument as a single-item tuple

这么写很丑陋, .format没有这些问题

什么时候不考虑使用.format

你对.format知之甚少
使用Python2.5
IT技术分享与交流
我还没有学会写个人说明!
上一篇

全国100多位大厨上海尔食联网智慧美食平台,魅力何在?

下一篇

iPhone12成为10月全球销量最高5G手机 网友直呼真香

你也可能喜欢

评论已经被关闭。

插入图片