Python字符串拼接的4種方法實例
在程序?qū)嶋H應用中,少不了要進行字符串拼接的操作。下面介紹一下Python語言中四種字符串拼接的方式。
1. 算術運算符拼接
在Python中算術運算符一共有七種種,分別是+、-、*、/、//、**和%。其中+和*不僅可以用來進行算數(shù)計算,也可以用來字符串拼接。
(1)+算術運算符
+運算符在Python中可以用作數(shù)學計算,例如:
num1 = 1 num2 = 2 print(num1 + num2) # 3
同樣也可以用來進行字符串拼接:
s1 = '我是' s2 = '大帥比' print(s1 + s2) # 我是大帥比
但是在使用+運算符來進行字符串拼接的時候,只能是字符串和字符串進行拼接,無法和整形(int)、浮點型(float)以及布爾型(bool)進行拼接。
(2) * 算術運算符
當需要輸出多個同樣字符的時候,可以使用*運算符來偷個小懶,例如:
s1 = '-' print(s1 * 30) # ------------------------------ print(s1 * True) # - print(s1 * False) # (雖然沒有顯示,但實際上有輸出一個空字符串)
但是*運算符和+運算符一樣,在進行字符串拼接的時候是有限制的,不能和字符串、浮點型(float)進行拼接,其中布爾型的值會默認轉(zhuǎn)化為整型(True為1,F(xiàn)alse為0)來進行計算拼接。
2、format方法
在Python中,字符串友提供一個format的方法,可以通過在字符串中留空(即一個{}),然后在format方法中按順序填入相應參數(shù),來實現(xiàn)拼接。
s1 = '小明' s2 = 18 s3 = 1.75 s4 = True print('{}今年{}歲了,身高{}米,是個成年的{}男人。'.format(s1, s2, s3, s4)) # 小明今年18歲了,身高1.75米,是個成年的True男人。
在這里,format可以拼接字符串、整型、浮點型以及布爾型的值,這里面布爾型的值會默認轉(zhuǎn)化為字符串類型來進行拼接。
值得注意的是:format中的參數(shù)必須是按坑填入,坑只能少,不能比值多;值可以盡量多,但是不能比坑少,否則就會報錯。
s1 = '小明' s2 = 18 s3 = 1.75 s4 = True print('{}今年{}歲了,身高{}米,是個成年的男人。'.format(s1, s2)) ### IndexError: Replacement index 2 out of range for positional args tuple
3、百分號操作符
Python還可以通過百分號加上一個字母(如%s、%d等等),來實現(xiàn)字符串的拼接。
s1 = 'python' print('人生苦短,我只用%s'%s1) # 人生苦短,我只用Python
當然百分號操作符還可以通過百分號加上一個元組來進行多個字符傳入:
s1 = '張三' s2 = 24 s3 = 1.8 s4 = True print('我叫%s,今年%s歲,是個%s米的大帥比,你覺得我說的%s嗎?'%(s1, s2, s3, s4)) # 我叫張三,今年24歲,是個1.8米的大帥比,你覺得我說的True嗎?
在這里,%s可以是字符串、整型、浮點型或者布爾型,這些都會被默認轉(zhuǎn)為字符串類型。但如果是其他如%d,則不能跟字符串,其他類型會被轉(zhuǎn)化為整型,浮點型只取整數(shù),布爾型只取1或者0。
常見的格式化符號
格式符號 | 轉(zhuǎn)換 |
---|---|
%s | 通過str()字符串轉(zhuǎn)換來格式化 |
%u | 無符號的十進制整數(shù) |
%d | 有符號的十進制整數(shù) |
%o | 八進制整數(shù) |
%x | 十六進制整數(shù),小寫字母 |
%X | 十六進制整數(shù),大寫字母 |
%e | 浮點數(shù)字(科學計數(shù)法) |
%E | 浮點數(shù)字(科學計數(shù)法,用E代替e) |
%f | 浮點實數(shù) |
%g | 浮點數(shù)字(根據(jù)值的大小采用%e或%f) |
%G | 浮點數(shù)字(類似于%g) |
注意: 和format不一樣的是,百分號是有幾個坑,就得給他安排幾個值,值多或者值少,都會產(chǎn)生報錯。
4、特殊符號f
在Python還有一種非常有意思的寫法,就是在字符串前面加上特定字母,就可以實現(xiàn)一些功能,如加上r 取消轉(zhuǎn)義符號的效果,加上 f 進行字符串格式化。
s1 = '博士' s2 = 30 print(f'小紅是一個{s1},剛畢業(yè)就獲得了一個年薪{s2}萬的工作。') # 小紅是一個博士,剛畢業(yè)就獲得了一個年薪30萬的工作。
f 和 format 方法有點相似,也是挖坑,但是 f 是現(xiàn)挖現(xiàn)填,相比 format 來說更不容易填錯坑。
附:常見字符串去除空格的方法總結
去除字符串開頭和結尾的空格,使用strip()方法
a = " a b c " a.strip() # 'a b c'
去除字符串開頭的空格,lstrip()方法
a = " a b c " a.lstrip() # 'a b c '
去除字符串結尾的空格,rstrip()方法
a = " a b c " a.rstrip() # ' a b c'
總結
Python中實現(xiàn)對字符串拼接的四種方法:
(1)通過 + 或者 * 運算符來實現(xiàn)拼接。
(2)通過 format 方法來進行格式化填空,但是空可以少,值不能少,要確保每個空都會有一個對應的值。
(3)通過百分號來進行字符串格式化拼接,和 format 不一樣的是,百分號是有幾個空,就填幾個值,值不能多,也不能少。
(4)通過特殊符號 f 進行字符串格式化拼接,和百分號方法一樣,有幾個空就填幾個值,空里面不能沒有值。
到此這篇關于Python字符串拼接的4種方法的文章就介紹到這了,更多相關Python字符串拼接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python文件操作JSON CSV TSV Excel和Pickle文件序列化
這篇文章主要為大家介紹了Python文件操作之JSON、CSV、TSV、Excel和Pickle文件序列化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11Python利用multiprocessing實現(xiàn)最簡單的分布式作業(yè)調(diào)度系統(tǒng)實例
這篇文章主要給大家介紹了關于Python利用multiprocessing如何實現(xiàn)最簡單的分布式作業(yè)調(diào)度系統(tǒng)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-11-11python的paramiko模塊實現(xiàn)遠程控制和傳輸示例
本篇文章主要介紹了python的paramiko模塊實現(xiàn)遠程控制和傳輸示例,非常具有實用價值,需要的朋友可以參考下2017-10-10Python環(huán)境管理virtualenv&virtualenvwrapper的配置詳解
這篇文章主要介紹了Python環(huán)境管理virtualenv&virtualenvwrapper的配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07sklearn中的交叉驗證的實現(xiàn)(Cross-Validation)
這篇文章主要介紹了sklearn中的交叉驗證的實現(xiàn)(Cross-Validation),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02selenium使用chrome瀏覽器測試(附chromedriver與chrome的對應關系表)
這篇文章主要介紹了selenium使用chrome瀏覽器測試(附chromedriver與chrome的對應關系表),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11Python實現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例
這篇文章主要介紹了Python實現(xiàn)Word文檔轉(zhuǎn)換Markdown的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12