可能是最全面的 Python 字符串拼接总结【收藏】

yipeiwu_com5年前Python基础

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

加号连接

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

>>> a, b = 'hello', ' world'
>>> a + b
'hello world'

逗号连接

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

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

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

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

直接连接

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

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

%

第四种,使用%操作符。

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

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

第五种,使用format方法。

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

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

join

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

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

print('-'.join(['aa', 'bb', 'cc']))
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'

*

第八种,使用*操作符。

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

小结

连接少量字符串时

推荐使用+号操作符。

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

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

连接大量字符串时

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

感兴趣的朋友可以关注【听图阁-专注于Python设计】百家号:https://baijiahao.baidu.com/u?app_id=1549322409310619&fr=bjharticle

总结

以上所述是小编给大家介绍的可能是最全面的 Python 字符串拼接总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python做接口测试的必要性

什么是接口测试 接口测试主要用于检测外部系统与内部系统之间,以及系统内部各 个子系统之间的交互点。其测试的重点是,检查数据的交换、传递和控 制管理过程,以及系统间的逻辑依赖关系等。...

python 视频逐帧保存为图片的完整实例

我就废话不多说了,直接上代码吧! import cv2 import os def save_img(): video_path = r'F:\test\video1/' v...

python使用生成器实现可迭代对象

本文实例为大家分享了python使用生成器实现可迭代对象的具体代码,供大家参考,具体内容如下 案例分析:       &nbs...

python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解

python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能。 python中: print("hello,world!") 输出...

Python 利用高德地图api实现经纬度与地址的批量转换

我们都知道,可以使用高德地图api实现经纬度与地址的转换。那么,当我们有很多个地址与经纬度,需要批量转换的时候,应该怎么办呢? 在这里,选用高德Web服务的API,其中的地址/逆地址编码...