Python實現(xiàn)字符串格式化的五種方法
更新時間:2026年01月08日 09:39:17 作者:不瘦80斤不改名
這篇文章主要介紹了Python實現(xiàn)字符串格式化的五種方法,包括拼接、print多參數(shù)、%格式化、f-string和format(),每種方法都有其特點和適用場景,f-string因其簡潔和功能強大而最受推薦,需要的朋友可以參考下
示例:
name = "Forbearing"
age = 18
print("My name is " + name + ", and I am " + str(age) + " years old.")
print("My name is", name, ", and I am", age, "years old.")
print("My name is %s, and I am %d years old." % (name, age))
print(f"My name is {name}, and I am {age} years old.")
print("My name is {}, and I am {} years old.".format(name, age))
運行結(jié)果:

1. + 拼接:必須都是字符串,所以要 str(age)
print("My name is " + name + ", and I am " + str(age) + " years old.")
- +是字符串拼接。
- 規(guī)則很硬:“字符串” + 變量 兩邊必須都是 str。
- age 是 int,不能直接和字符串相加,所以要 str(age) 轉(zhuǎn)成字符串。
- 常見報錯原因:"I am " + age(str 和 int 不能相加)。
2. print 多參數(shù):自動轉(zhuǎn)字符串,但默認會加空格
print("My name is", name, ", and I am", age, "years old.")
- 這里不是“拼接”,而是 print() 接收了多個參數(shù)。
- print 會把每個參數(shù)都轉(zhuǎn)成可顯示文本(所以 age 不用 str())。
- 默認用空格把參數(shù)隔開:sep=" ",所以輸出里會出現(xiàn)一些空格。
- 如果你想控制輸出樣式,可以改 sep 或 end:
print("A", "B", sep="-") # A-B
print("X", end="") # 不換行
print("Y") # 接著輸出
3. % 格式化:舊式占位符寫法
print("My name is %s, and I am %d years old." % (name, age))
- 先寫一個“模板字符串”,里面放占位符:
- %s:填入字符串(很多類型也能用 %s,會轉(zhuǎn)成字符串)
- %d:填入整數(shù)
- 右邊用一個元組 (name, age) 按順序把值塞進去。
% 常見的形式
| 格式符號 | 轉(zhuǎn)換 |
|---|---|
| %s | 字符串 |
| %d | 有符號的十進制整數(shù) |
| %f | 浮點數(shù) |
| %c | 字符 |
| %u | 無符號十進制整數(shù) |
| %o | 八進制整數(shù) |
| %x | 十六進制整數(shù)(小寫ox) |
| %X | 十六進制整數(shù)(大寫OX) |
| %e | 科學計數(shù)法(小寫’e’) |
| %E | 科學計數(shù)法(大寫’E’) |
| %g | %f和%e的簡寫 |
| %G | %f和%E的簡寫 |
4. f-string:最常用、最推薦
print(f"My name is {name}, and I am {age} years old.")
- 字符串前加 f,然后用 {} 包變量或表達式。
- {} 里不只能放變量,也能放表達式/函數(shù)調(diào)用:
print(f"next year: {age + 1}")
print(f"upper: {name.upper()}")
- 也支持格式控制(例如保留兩位小數(shù)、補零、對齊):
x = 3.14159
print(f"{x:.2f}") # 3.14
print(f"{age:05d}") # 00018
5. format() 格式化
print("My name is {}, and I am {} years old.".format(name, age))
- {} 是占位符,.format(…) 按順序填進去。
- 支持命名參數(shù),模板更清晰:
print("My name is {n}, and I am {a} years old.".format(n=name, a=age))
- 也支持格式控制(和 f-string 類似):
x = 3.14159
print("{:.2f}".format(x)) # 3.14
總結(jié)
- +:真的在拼字符串,所以 int 必須 str()
- print(a, b, c):不是拼接,是打印多個參數(shù),默認加空格
- % / format / f-string:格式化(模板 + 填值),通常更清晰
- 日常推薦:f-string
到此這篇關于Python實現(xiàn)字符串格式化的五種方法的文章就介紹到這了,更多相關Python字符串格式化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python使用DuckDB秒級處理超大Excel文件的終極指南
你是否經(jīng)歷過這樣的絕望:雙擊打開一個 500MB 的 Excel 文件,看著鼠標光標變成旋轉(zhuǎn)的圓圈,內(nèi)存占用飆升,最后屏幕變白顯示未響應,本文將手把手教你如何利用 DuckDB 輕松讀取、查詢和分析超大 Excel 文件,需要的朋友可以參考下2026-02-02
Python閉包原理與nonlocal關鍵字實戰(zhàn)指南
閉包是Python中一個強大而優(yōu)雅的特性,掌握它能讓你寫出更靈活、更模塊化的代碼,本文將深入解析閉包的原理,并通過實戰(zhàn)案例帶你徹底理解nonlocal關鍵字,感興趣的朋友跟隨小編一起看看吧2026-03-03
使用django和vue進行數(shù)據(jù)交互的方法步驟
這篇文章主要介紹了使用django和vue進行數(shù)據(jù)交互的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Python+pandas數(shù)據(jù)分析實踐總結(jié)
這篇文章主要介紹了Python+pandas數(shù)據(jù)分析實踐總結(jié)的相關資料,需要的朋友可以參考下2023-07-07
Python數(shù)據(jù)可視化常用4大繪圖庫原理詳解
這篇文章主要介紹了Python數(shù)據(jù)可視化常用4大繪圖庫原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10
pycharm運行程序時出現(xiàn)Run‘python tests for XXX.py‘問題及
這篇文章主要介紹了pycharm運行程序時出現(xiàn)Run ‘python tests for XXX.py‘問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
淺談Python3.10 和 Python3.9 之間的差異
多年來,Python 進行了大量升級,并且在新版本中添加了許多功能。本文就詳細的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下2021-09-09

