在Python的实际开发中,很多都需要用到字符串拼接,Python中字符串拼接有很多,今天总结一下:
+
符号拼接%
符号拼接join()
方法拼接format()
方法拼接string
模块中的Template
对象如果还有其他方法,欢迎补充。
例子:
fruit1 = 'apples'
fruit2 = 'bananas'
fruit3 = 'pears'
要求:
输出字符串’There are apples, bananas, pears on the table’
+
符号拼接用+
拼接字符串如下:
str = 'There are'+fruit1+','+fruit2+','+fruit3+' on the table'
该方法效率比较低,不建议使用
%
符号拼接用%
符号拼接方法如下:
str = 'There are %s, %s, %s on the table.' % (fruit1,fruit2,fruit3)
除了用元组的方法,还可以使用字典如下:
str = 'There are %(fruit1)s,%(fruit2)s,%(fruit3)s on the table' % {'fruit1':fruit1,'fruit2':fruit2,'fruit3':fruit3}
该方法比较通用
join()
方法拼接join()`方法拼接如下
temp = ['There are ',fruit1,',',fruit2,',',fruit3,' on the table']
''.join(temp)
该方法使用与序列操作
format()
方法拼接用format()
方法拼接如下:
str = 'There are {}, {}, {} on the table'
str.format(fruit1,fruit2,fruit3)
还可以指定参数对应位置:
str = 'There are {2}, {1}, {0} on the table'
str.format(fruit1,fruit2,fruit3) #fruit1出现在0的位置
同样,也可以使用字典:
str = 'There are {fruit1}, {fruit2}, {fruit3} on the table'
str.format(fruit1=fruit1,fruit2=fruit2,fruit3=fruit3)
string
模块中的Template
对象用string
模块中的Template
对象如下:
from string import Template
str = Template('There are ${fruit1}, ${fruit2}, ${fruit3} on the table') #此处用的是{},别搞错了哦
str.substitute(fruit1=fruit1,fruit2=fruit2,fruit3=fruit3) #如果缺少参数,或报错如果使用safe_substitute()方法不会
str.safe_substitute(fruit1=fruit1,fruit2=fruit2)
#输出'There are apples, bananas, ${fruit3} on the table'
拼接的方法有多种,不同场合下使用不同的方法,个人比较推荐%
、format()
方法,简单方便。