您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么在python3中使用 f-string方法格式化字符串,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
f-string,亦稱為格式化字符串常量(formatted string literals),是Python3.6新引入的一種字符串格式化方法,該方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加簡便。
f-string在形式上是以 f 或 F 修飾符引領(lǐng)的字符串(f'xxx' 或 F'xxx'),以大括號 {} 標(biāo)明被替換的字段;f-string在本質(zhì)上并不是字符串常量,而是一個在運行時運算求值的表達(dá)式:
While other string literals always have a constant value, formatted strings are really expressions evaluated at run time.
(與具有恒定值的其它字符串常量不同,格式化字符串實際上是運行時運算求值的表達(dá)式。)
—— Python Documentation
f-string在功能方面不遜于傳統(tǒng)的%-formatting語句和str.format()函數(shù),同時性能又優(yōu)于二者,且使用起來也更加簡潔明了,因此對于Python3.6及以后的版本,推薦使用f-string進行字符串格式化。
從Python 3.6開始,f-string是格式化字符串的一種很好的新方法。與其他格式化方式相比,它們不僅更易讀,更簡潔,不易出錯,而且速度更快!
在Python 3.6之前,有兩種將Python表達(dá)式嵌入到字符串文本中進行格式化的主要方法:%-formatting和str.format()。
%-formatting
字符串對象具有使用%運算符的內(nèi)置操作,您可以使用它來格式化字符串。
name = "tom" print("貓的名字叫%s"%name)
輸出:
cat name is tom
上面的示例代碼看起來足夠易讀,但是,一旦開始使用多個參數(shù)和更長的字符串,代碼就將變得不太容易閱讀。
name = "tom" age = 2 action = "迅速" disposition = "懶" print("貓的名字叫%s,今年%d歲了,抓老鼠非常%s,但是非常%s,白天總睡覺。"%(name, age, action, disposition))
輸出:
貓的名字叫tom,今天2歲了,抓老鼠非常迅速,但是非常懶,白天總睡覺。
str.format()
str.format()是對%-formatting的改進。它使用正常的函數(shù)調(diào)用語法,并且可以通過對要轉(zhuǎn)換為字符串的對象的__format __()方法進行擴展。
使用str.format(),替換字段用大括號標(biāo)記:
name = "tom" print("貓的名字叫{}".format(name))
輸出:
貓的名字叫tom
也可以通過引用其索引,以任何順序引用變量:
name = "tom" age = 2 print("貓的名字叫{1},今年{0}歲了,今天星期{0}".format(age, name))
輸出:
貓的名字叫tom,今年2歲了,今天星期2
也可以使用 ** 來用字典,巧妙的完成格式化:
cat = {"name": "tom", "age": 2} print("貓的名字叫{name},今年{age}歲了".format(**cat))
輸出:
貓的名字叫tom,今年2歲了
使用 str.format() 格式化代碼比使用 %-formatting 更易讀,但當(dāng)處理多個參數(shù)和更長的字符串時,str.format()看起來仍然非常冗長。
f-Strings:一種改進Python格式字符串的新方法
f-Strings語法與str.format()使用的語法類似,但較少細(xì)節(jié)啰嗦,只需要在格式化字符串前加f或F即可??纯催@是多么容易可讀:
name = "tom" age = 2 print(f"貓的名字叫{name},今年{age}歲了")
輸出:
貓的名字叫tom,今年2歲了
格式化時可以使用函數(shù):
name = "tom" age = 2 print(F"貓的名字叫{name.upper()},今年{age}歲了")
輸出:
貓的名字叫TOM,今年2歲了
格式化時可以使用字典:
cat = {"name": "tom", "age": 2} print(F"貓的名字叫{cat['name']},今年{cat['age']}歲了")
輸出:
貓的名字叫tom,今年2歲了
格式時可以對浮點數(shù)精度做限制:
name = "tom" age = 2.1274 print(F"貓的名字叫{name},今年{age: .2f}歲了")
輸出:
貓的名字叫tom,今年 2.13歲了
上述就是小編為大家分享的怎么在python3中使用 f-string方法格式化字符串了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。