定义一个变量并在一个字符串中使用它并将%s放在一个字符串中并在之后传入该值之间有什么区别?
site = "Stackoverflow"
site + " is great!"
"%s is great!" % "Stackoverflow"
打印其中任何一个都会得到相同的结果,所以什么时候使用一个比另一个好?
答案 0 :(得分:0)
如果要将某些字符串常量保留在同一文件中或文件的最顶层,可以使用占位符作为常量声明字符串,然后在运行时通过%语法将占位符替换为实际变量
这也允许更大的可重用性。
例如。你可以存储一个常量UpdatePanel
。
使用此语法也可能使字符串更具可读性。
答案 1 :(得分:-1)
对于两个字符串,几乎没有区别。
对于多个字符串,s1 + s2 + s3效率较低,因为它必须为第一个连接创建临时str对象,其中"%s%s%s" %(s1,s2,s3)和" {} {} {}" .format(s1,s2,s3)立即创建最终的str对象。
One:
'string' + 'string'
Two:
'%s %s' % ('one', 'two')
'{} {}'.format('one', 'two')
这里有一篇很棒的文章:https://pyformat.info/
此外,文档也是一个很好的资源:https://docs.python.org/2/library/string.html#format-string-syntax
版本1在连接量较大时效率较低。