當前位置:
首頁 > 知識 > python3 拼接字元串的7種方法

python3 拼接字元串的7種方法


Linux編程

點擊右側關注,免費入門到精通!




作者丨未知
https://www.pythontab.com/html/2018/pythonjichu_0730/1331.html




python3.x拼接字元串一般有以下幾種方法:




1. 直接通過(+)操作符拼接



s = 

"Hello"

+

" "

+

"World"

+

"!"


print

(s)




輸出結果:Hello World!



使用這種方式進行字元串連接的操作效率低下,因為python中使用 + 拼接兩個字元串時會生成一個新的字元串,生成新的字元串就需要重新申請內存,當拼接字元串較多時自然會影響效率。




2. 通過str.join()方法拼接



strlist=[

"Hello"

,

" "

,

"World"

,

"!"

]

print

(

""

.join(strlist))




輸出結果:Hello World!




這種方式一般常使用在將集合轉化為字元串,"".join()其中""可以是空字元,也可以是任意其他字元,當是任意其他字元時,集合中字元串會被該字元隔開,例如:



strlist=[

"Hello"

,

" "

,

"World"

,

"!"

]

print

(

","

.join(strlist))




輸出結果:Hello, ,World,!




3. 通過str.format()方法拼接



s=

"{} {}!"

.

format

(

"Hello"

,

"World"

)

print

(s)




輸出結果:Hello World!




通過這種方式拼接字元串需要注意的是字元串中{}的數量要和format方法參數數量一致,否則會報錯。




4. 通過(%)操作符拼接



s = 

"%s %s!"

 % (

"Hello"

"World"

)

print

(s)




輸出結果:Hello World!




這種方式與str.format()使用方式基本一致。




5. 通過()多行拼接



s = (
    

"Hello"


    

" "


    

"World"


    

"!"


)

print

(s)




輸出結果:Hello World!




python遇到未閉合的小括弧,自動將多行拼接為一行。




6.通過string模塊中的Template對象拼接



from string 

import

 Template
s = Template(

"

${s1}

 

${s2}

!"


print

(s.safe_substitute(s1=

"Hello"

,s2=

"World"

))




輸出結果:Hello World!




Template的實現方式是首先通過Template初始化一個字元串。

這些字元串中包含了一個個key。通過調用substitute或safe_subsititute,將key值與方法中傳遞過來的參數對應上,從而實現在指定的位置導入字元串。這種方式的好處是不需要擔心參數不一致引發異常,如:



from string 

import

 Template
s = Template(

"

${s1}

 

${s2}

 

${s3}

!"


print

(s.safe_substitute(s1=

"Hello"

,s2=

"World"

))




輸出結果:Hello World ${s3}!




7. 通過F-strings拼接




在python3.6.2版本中,PEP 498 提出一種新型字元串格式化機制,被稱為「字元串插值」或者更常見的一種稱呼是F-strings,F-strings提供了一種明確且方便的方式將python表達式嵌入到字元串中來進行格式化:



s1=

"Hello"


s2=

"World"


print(

f"

{s1}

 

{s2}

!"

)




輸出結果:Hello World!




在F-strings中我們也可以執行函數:



def

 

power

(x)

:


    

return

 x*x
x=

4


print(

f"

{x}

 * 

{x}

 = 

{power(x)}

"

)




輸出結果:4 * 4 = 16




而且F-strings的運行速度很快,比%-string和str.format()這兩種格式化方法都快得多。




 推薦↓↓↓ 






??

16個技術公眾號

】都在這裡!


涵蓋:程序員大咖、源碼共讀、程序員共讀、數據結構與演算法、黑客技術和網路安全、大數據科技、編程前端、Java、Python、Web編程開發、Android、iOS開發、Linux、資料庫研發、幽默程序員等。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python開發 的精彩文章:

教你體驗kiss的感覺
Python 正則表達式(分組)

TAG:Python開發 |