在 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
知識星球