Python格式化字符串的四種常見方式
一、引言
在 Python 編程中,格式化字符串是一項(xiàng)常見且重要的任務(wù),它能夠幫助我們將變量、表達(dá)式等內(nèi)容插入到字符串中,使輸出更加清晰和易讀。Python 提供了多種格式化字符串的方式,每種方式都有其特點(diǎn)和適用場景。本文將詳細(xì)介紹 Python 中格式化字符串的 4 種常見方式,并通過豐富的代碼示例進(jìn)行說明。
二、% 格式化
2.1 基本原理
% 格式化是 Python 中最古老的字符串格式化方式,它使用 % 操作符,根據(jù) % 后面的格式化字符來指定變量的類型,并將變量插入到字符串中。
2.2 代碼示例
# 定義變量 name = "Alice" age = 25 # 使用 % 格式化字符串,%s 表示字符串類型,%d 表示整數(shù)類型 message = "My name is %s and I am %d years old." % (name, age) print(message) # 輸出格式化后的字符串 # 格式化浮點(diǎn)數(shù),%.2f 表示保留兩位小數(shù) height = 1.65 height_message = "My height is %.2f meters." % height print(height_message)
在上述代碼中,%s 用于格式化字符串,%d 用于格式化整數(shù),%.2f 用于格式化浮點(diǎn)數(shù)并保留兩位小數(shù)。通過 % 操作符,將變量插入到對應(yīng)的位置。
三、str.format() 方法
3.1 基本原理
str.format() 方法是 Python 2.6 引入的一種格式化字符串的方式,它使用花括號 {} 作為占位符,通過 format() 方法中的參數(shù)來填充占位符。
3.2 代碼示例
# 定義變量
name = "Bob"
age = 30
# 使用 str.format() 方法格式化字符串
message = "My name is {} and I am {} years old.".format(name, age)
print(message)
# 通過索引指定占位符的填充順序
message_index = "My name is {1} and I am {0} years old.".format(age, name)
print(message_index)
# 通過關(guān)鍵字參數(shù)指定占位符的填充
message_keyword = "My name is {name} and I am {age} years old.".format(name=name, age=age)
print(message_keyword)
# 格式化浮點(diǎn)數(shù),指定保留小數(shù)位數(shù)
weight = 70.5
weight_message = "My weight is {:.1f} kilograms.".format(weight)
print(weight_message)
在上述代碼中,{} 是默認(rèn)的占位符,也可以通過索引或關(guān)鍵字參數(shù)來指定占位符的填充順序和內(nèi)容。同時(shí),還可以使用 :.1f 等格式說明符來格式化浮點(diǎn)數(shù)。
四、f-string(格式化字符串字面值)
4.1 基本原理
f-string 是 Python 3.6 引入的一種新的格式化字符串方式,它在字符串前加上 f 或 F 前綴,在字符串中使用花括號 {} 直接嵌入變量或表達(dá)式。
4.2 代碼示例
# 定義變量
name = "Charlie"
age = 35
# 使用 f-string 格式化字符串
message = f"My name is {name} and I am {age} years old."
print(message)
# 在 f-string 中使用表達(dá)式
birth_year = 2023 - age
message_expr = f"I was born in {birth_year}."
print(message_expr)
# 格式化浮點(diǎn)數(shù)
salary = 5000.75
salary_message = f"My monthly salary is {salary:.2f} yuan."
print(salary_message)
在上述代碼中,通過在字符串前加上 f 前綴,在花括號中直接使用變量或表達(dá)式,Python 會自動將其替換為對應(yīng)的值。同時(shí),也可以使用格式說明符來格式化變量。
五、模板字符串
5.1 基本原理
模板字符串是 Python 的 string 模塊中的 Template 類提供的一種格式化字符串方式,它使用 $ 符號作為占位符,通過 substitute() 方法來替換占位符。
5.2 代碼示例
from string import Template
# 定義變量
name = "David"
age = 40
# 創(chuàng)建模板字符串
template = Template("My name is $name and I am $age years old.")
# 使用 substitute() 方法替換占位符
message = template.substitute(name=name, age=age)
print(message)
在上述代碼中,首先導(dǎo)入 Template 類,然后創(chuàng)建一個(gè)模板字符串,使用 $ 符號定義占位符。最后,通過 substitute() 方法將變量替換到占位符中。
六、總結(jié)與展望
6.1 總結(jié)
Python 提供了多種格式化字符串的方式,每種方式都有其優(yōu)缺點(diǎn):
%格式化是最古老的方式,語法簡單,但不夠靈活。str.format()方法提供了更多的靈活性,支持索引、關(guān)鍵字參數(shù)等,但代碼相對冗長。- f-string 是最簡潔和直觀的方式,支持直接嵌入變量和表達(dá)式,代碼可讀性高,但要求 Python 版本在 3.6 及以上。
- 模板字符串提供了一種安全的格式化方式,適用于需要從用戶輸入中獲取數(shù)據(jù)進(jìn)行格式化的場景。
6.2 展望
隨著 Python 語言的不斷發(fā)展,f-string 由于其簡潔性和易用性,可能會成為未來格式化字符串的主流方式。同時(shí),模板字符串在處理用戶輸入時(shí)的安全性優(yōu)勢也會在特定場景中得到更廣泛的應(yīng)用。開發(fā)者可以根據(jù)具體的需求和 Python 版本選擇合適的格式化方式。
以上就是Python格式化字符串的四種常見方式的詳細(xì)內(nèi)容,更多關(guān)于Python格式化字符串的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法,需要的朋友可以參考下2020-02-02
Pytorch測試神經(jīng)網(wǎng)絡(luò)時(shí)出現(xiàn) RuntimeError:的解決方案
這篇文章主要介紹了Pytorch測試神經(jīng)網(wǎng)絡(luò)時(shí)出現(xiàn) RuntimeError:的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python+Tkinter實(shí)現(xiàn)高顏值桌面便簽工具
在快節(jié)奏的現(xiàn)代生活中,高效的任務(wù)管理成為提升生產(chǎn)力的關(guān)鍵,本文將帶你用Python的Tkinter庫開發(fā)一款輕量級桌面便簽工具,感興趣的小伙伴可以參考一下2025-04-04
Python中創(chuàng)建相關(guān)系數(shù)矩陣的方法小結(jié)
相關(guān)系數(shù)矩陣是一種用于衡量變量之間關(guān)系的重要工具,本文將介紹在 Python 中創(chuàng)建相關(guān)系數(shù)矩陣的不同方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
Python變量與數(shù)據(jù)類型全解析(最新整理)
文章介紹Python變量作為數(shù)據(jù)載體,命名需遵循字母數(shù)字下劃線規(guī)則,不可數(shù)字開頭,大小寫敏感,避免關(guān)鍵字,本文給大家介紹Python變量與數(shù)據(jù)類型全解析,感興趣的朋友一起看看吧2025-06-06

