在 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-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 版本以及對可讀性的要求。