網站首頁 編程語言 正文
在程序實際應用中,少不了要進行字符串拼接的操作。下面介紹一下Python語言中四種字符串拼接的方式。
1. 算術運算符拼接
在Python中算術運算符一共有七種種,分別是+、-、*、/、//、**和%。其中+和*不僅可以用來進行算數計算,也可以用來字符串拼接。
(1)+算術運算符
+運算符在Python中可以用作數學計算,例如:
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)進行拼接,其中布爾型的值會默認轉化為整型(True為1,False為0)來進行計算拼接。
2、format方法
在Python中,字符串友提供一個format的方法,可以通過在字符串中留空(即一個{}),然后在format方法中按順序填入相應參數,來實現拼接。
s1 = '小明'
s2 = 18
s3 = 1.75
s4 = True
print('{}今年{}歲了,身高{}米,是個成年的{}男人。'.format(s1, s2, s3, s4))
# 小明今年18歲了,身高1.75米,是個成年的True男人。
在這里,format可以拼接字符串、整型、浮點型以及布爾型的值,這里面布爾型的值會默認轉化為字符串類型來進行拼接。
值得注意的是:format中的參數必須是按坑填入,坑只能少,不能比值多;值可以盡量多,但是不能比坑少,否則就會報錯。
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等等),來實現字符串的拼接。
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可以是字符串、整型、浮點型或者布爾型,這些都會被默認轉為字符串類型。但如果是其他如%d,則不能跟字符串,其他類型會被轉化為整型,浮點型只取整數,布爾型只取1或者0。
常見的格式化符號
格式符號 | 轉換 |
---|---|
%s | 通過str()字符串轉換來格式化 |
%u | 無符號的十進制整數 |
%d | 有符號的十進制整數 |
%o | 八進制整數 |
%x | 十六進制整數,小寫字母 |
%X | 十六進制整數,大寫字母 |
%e | 浮點數字(科學計數法) |
%E | 浮點數字(科學計數法,用E代替e) |
%f | 浮點實數 |
%g | 浮點數字(根據值的大小采用%e或%f) |
%G | 浮點數字(類似于%g) |
注意: 和format不一樣的是,百分號是有幾個坑,就得給他安排幾個值,值多或者值少,都會產生報錯。
4、特殊符號f
在Python還有一種非常有意思的寫法,就是在字符串前面加上特定字母,就可以實現一些功能,如加上r 取消轉義符號的效果,加上 f 進行字符串格式化。
s1 = '博士'
s2 = 30
print(f'小紅是一個{s1},剛畢業就獲得了一個年薪{s2}萬的工作。')
# 小紅是一個博士,剛畢業就獲得了一個年薪30萬的工作。
f 和 format 方法有點相似,也是挖坑,但是 f 是現挖現填,相比 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中實現對字符串拼接的四種方法:
(1)通過 + 或者 * 運算符來實現拼接。
(2)通過 format 方法來進行格式化填空,但是空可以少,值不能少,要確保每個空都會有一個對應的值。
(3)通過百分號來進行字符串格式化拼接,和 format 不一樣的是,百分號是有幾個空,就填幾個值,值不能多,也不能少。
(4)通過特殊符號 f 進行字符串格式化拼接,和百分號方法一樣,有幾個空就填幾個值,空里面不能沒有值。
原文鏈接:https://blog.csdn.net/jhdddd/article/details/124281653
相關推薦
- 2022-06-18 SpringBoot打包docker鏡像發布的詳細步驟_docker
- 2022-10-27 SQL案例學習之字符串的合并與拆分方法總結_oracle
- 2023-06-16 C語言中的結構體內嵌函數用法_C 語言
- 2022-06-09 python?Tkinter模塊使用方法詳解_python
- 2022-10-25 記一次生產環境死鎖問題分析
- 2022-04-12 C#實現六大設計原則之迪米特法則_C#教程
- 2022-06-09 ASP.NET?Core中的Configuration配置二_基礎應用
- 2022-03-28 C語言實現紅黑樹詳細步驟+代碼_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支