色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

python3格式化字符串 f-string的高級用法(推薦)

瀏覽:9日期:2022-08-04 13:25:56

f-string,亦稱為格式化字符串常量(formatted string literals),是Python3.6新引入的一種字符串格式化方法,該方法源于PEP 498 ? Literal String Interpolation,主要目的是使格式化字符串的操作更加簡便。

f-string在形式上是以 f 或 F 修飾符引領(lǐng)的字符串(f’xxx’ 或 F’xxx’),以大括號 {} 標明被替換的字段;f-string在本質(zhì)上并不是字符串常量,而是一個在運行時運算求值的表達式:

While other string literals always have a constant value, formatted strings are really expressions evaluated at run time. (與具有恒定值的其它字符串常量不同,格式化字符串實際上是運行時運算求值的表達式。) —— 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表達式嵌入到字符串文本中進行格式化的主要方法:%-formatting和str.format()。

%-formatting

字符串對象具有使用%運算符的內(nèi)置操作,您可以使用它來格式化字符串。

name = 'tom'print('貓的名字叫%s'%name)

輸出:

cat name is tom

上面的示例代碼看起來足夠易讀,但是,一旦開始使用多個參數(shù)和更長的字符串,代碼就將變得不太容易閱讀。

name = 'tom'age = 2action = '迅速'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(),替換字段用大括號標記:

name = 'tom'print('貓的名字叫{}'.format(name))

輸出:

貓的名字叫tom

也可以通過引用其索引,以任何順序引用變量:

name = 'tom'age = 2print('貓的名字叫{1},今年{0}歲了,今天星期{0}'.format(age, name))

輸出:

貓的名字叫tom,今年2歲了,今天星期2

也可以使用 ** 來用字典,巧妙的完成格式化:

cat = {'name': 'tom', 'age': 2}print('貓的名字叫{name},今年{age}歲了'.format(**cat))

輸出:

貓的名字叫tom,今年2歲了

使用 str.format() 格式化代碼比使用 %-formatting 更易讀,但當處理多個參數(shù)和更長的字符串時,str.format()看起來仍然非常冗長。

f-Strings:一種改進Python格式字符串的新方法

f-Strings語法與str.format()使用的語法類似,但較少細節(jié)??攏?恍枰?詬袷交?址??凹?或F即可。看看這是多么容易可讀:

name = 'tom'age = 2print(f'貓的名字叫{name},今年{age}歲了')

輸出:

貓的名字叫tom,今年2歲了

格式化時可以使用函數(shù):

name = 'tom'age = 2print(F'貓的名字叫{name.upper()},今年{age}歲了')

輸出:

貓的名字叫TOM,今年2歲了

格式化時可以使用字典:

cat = {'name': 'tom', 'age': 2}print(F'貓的名字叫{cat[’name’]},今年{cat[’age’]}歲了')

輸出:

貓的名字叫tom,今年2歲了

格式時可以對浮點數(shù)精度做限制:

name = 'tom'age = 2.1274print(F'貓的名字叫{name},今年{age: .2f}歲了')

輸出:

貓的名字叫tom,今年 2.13歲了

總結(jié)

到此這篇關(guān)于python3格式化字符串 f-string的高級用法(推薦)的文章就介紹到這了,更多相關(guān)python f-string 格式化字符串內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲在线网 | 国产精品久久大陆 | 毛片在线免费观看网站 | 久草视频在线看 | 国产成人在线网址 | 国产视频a | 手机av在线播放 | 亚洲视频在线网站 | 波多野结衣一区二区在线 | 国产性生活视频 | 午夜私人影院免费体验区 | 在线看片欧美 | 欧美日韩性视频一区二区三区 | 日本天堂免费 | 欧美深夜影院 | 边接电话边做国语高清对白 | 中文字幕成人 | 日韩三级黄 | 欧美一区二区三区在线播放 | 91精品91| 久久视频精品53在线观看 | 欧美一级淫片a免费播放口aaa | 欧美精品在线一区二区三区 | aaa毛片在线 | 欧美自拍在线 | 欧美一级毛片高清毛片 | 99热热久久这里只有精品166 | 亚洲国产爱久久全部精品 | 一级亚洲 | 67194国产精品 | 欧美日韩精品一区二区三区视频在线 | 久久久久久久亚洲精品一区 | 91精品国产91久久久久青草 | 一级片免费在线播放 | 国产精品一区二区三区久久 | 综合久久99久久99播放 | 成人免费视频69 | 91色老99久久九九爱精品 | 国产亚洲欧美一区二区三区 | 男人的天堂在线 | www.亚洲综合 |