多是最全面的 python 字符串拼接總結

在 Python 中字符串鏈接有多種方式,這裏簡單作個總結,應該是比較全面的了,方便之後查閱。python

加號鏈接

第一種,經過+號的形式:數組

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

逗號鏈接

第二種,經過,逗號的形式:post

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

可是,使用,逗號形式要注意一點,就是隻能用於print打印,賦值操做會生成元組:性能

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

直接鏈接

第三種,直接鏈接中間有無空格都可:code

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

%

第四種,使用%操做符。orm

在 Python 2.6 之前,% 操做符是惟一一種格式化字符串的方法,它也能夠用於鏈接字符串。字符串

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

format

第五種,使用format方法。get

format 方法是 Python 2.6 中出現的一種代替 % 操做符的字符串格式化方法,一樣能夠用來鏈接字符串。string

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

join

第六種,使用join內置方法。it

字符串有一個內置方法join,其參數是一個序列類型,例如數組或者元組等。

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

f-string

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

Python 3.6 中引入了 Formatted String Literals(字面量格式化字符串),簡稱 f-stringf-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

鏈接大量字符串時

推薦使用 joinf-string 方式,選擇時依然取決於你使用的 Python 版本以及對可讀性的要求。

參考連接

你所不知道的 Python | 字符串鏈接的祕密

相關文章
相關標籤/搜索