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

简介: 来源: 枫恋寒 链接:https://segmentfault.com/a/119000001.png"font-size: 12px;">在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。

来源: 枫恋寒 链接:

https://segmentfault.com/a/119000001.png"font-size: 12px;">

在 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://juejin.im/post/5b350624f265da5954426713

目录
相关文章
|
3天前
|
索引 Python
python字符串(str)
【5月更文挑战第8天】
10 3
|
3天前
|
Python
【Python操作基础】——字符串
【Python操作基础】——字符串
|
3天前
|
Python
Python注意字符串和字节字面量
【5月更文挑战第7天】Python注意字符串和字节字面量
15 4
|
3天前
|
Python
Python字符串和字节不要混淆str.format()和bytes.format()
【5月更文挑战第6天】Python字符串和字节不要混淆str.format()和bytes.format()
8 1
|
3天前
|
Python
Python字符串和字节使用正确的编码/解码
【5月更文挑战第6天】Python字符串和字节使用正确的编码/解码
7 2
|
3天前
|
存储 Python
python字符串和字节明确数据类型
【5月更文挑战第6天】python字符串和字节明确数据类型
10 2
|
3天前
|
Python
Python避免在字符串和字节之间混淆
【5月更文挑战第5天】Python避免在字符串和字节之间混淆
17 3
|
3天前
|
数据安全/隐私保护 开发者 Python
【Python 基础】检查字符串是否只包含数字和字母?
【5月更文挑战第8天】【Python 基础】检查字符串是否只包含数字和字母?
|
3天前
|
Python
【Python 基础】如何将一个字符串转化为全大写和全小写?
【5月更文挑战第8天】【Python 基础】如何将一个字符串转化为全大写和全小写?
|
3天前
|
机器学习/深度学习 存储 人工智能
python 字符串的三种定义方式
python 字符串的三种定义方式
12 1