可能是最全面的 Python 字符串拼接总结

  • A+
所属分类:学霸天地

在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。

可能是最全面的 Python 字符串拼接总结加号连接

 

第一种,通过+号的形式:

 

可能是最全面的 Python 字符串拼接总结逗号连接

 

第二种,通过,逗号的形式:

 

>>> a, b = 'hello'' world'
>>> print(a, b)
hello  world


 


但是,使用,逗号形式要注意一点,就是只能用于print打印,赋值操作会生成元组:

>>> a, b
('hello'' world')


可能是最全面的 Python 字符串拼接总结直接连接

 

第三种,直接连接中间有无空格均可:

print('hello'         ' world')
print('hello''world')


可能是最全面的 Python 字符串拼接总结%

 

第四种,使用%操作符。

 

在 Python 2.6 以前,% 操作符是唯一一种格式化字符串的方法,它也可以用于连接字符串。

 

print('%s %s' % ('hello''world'))


 


可能是最全面的 Python 字符串拼接总结format

第五种,使用format方法。

 

format 方法是 Python 2.6 中出现的一种代替 % 操作符的字符串格式化方法,同样可以用来连接字符串。

 

print('{}{}'.format('hello'' world')


 

可能是最全面的 Python 字符串拼接总结join

 

第六种,使用join内置方法。

 

字符串有一个内置方法join,其参数是一个序列类型,例如数组或者元组等。

 

print('-'.join(['aa''bb''cc']))


 

可能是最全面的 Python 字符串拼接总结f-string

 

第七种,使用f-string方式。

 

Python 3.6 中引入了 Formatted String Literals(字面量格式化字符串),简称 f-string,f-string 是 % 操作符和 format 方法的进化版,使用 f-string 连接字符串的方法和使用 %操作符、format 方法类似。

>>> aa, bb = 'hello''world'
>>> f'{aa} {bb}'
'hello world'


可能是最全面的 Python 字符串拼接总结*


 

第八种,使用*操作符。

 

>>> aa = 'hello '
>>> aa * 3
'hello hello hello '


可能是最全面的 Python 字符串拼接总结小结

连接少量字符串时

 

推荐使用+号操作符。

 

如果对性能有较高要求,并且python版本在3.6以上,推荐使用f-string。例如,如下情况f-string可读性比+号要好很多:

 

a = f'姓名:{name} 年龄:{age} 性别:{gender}'
b = '姓名:' + name + '年龄:' + age + '性别:' + gender


 

连接大量字符串时

 

推荐使用 join 和 f-string 方式,选择时依然取决于你使用的 Python 版本以及对可读性的要求。

 

参考链接

你所不知道的Python | 字符串连接的秘密

https://juejin.im/post/5b350624f265da5954426713

原文始发于微信公众号(Python开发):可能是最全面的 Python 字符串拼接总结

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: