在Python中f-string的幾個(gè)技巧,你都知道嗎
f-string想必很多Python用戶都基礎(chǔ)性的使用過(guò),作為Python3.6版本開(kāi)始引入的特性,通過(guò)它我們可以更加方便地向字符串中嵌入自定義內(nèi)容,但f-string真正蘊(yùn)含的功能遠(yuǎn)比大多數(shù)用戶知道的要豐富,今天我們就來(lái)一起get它們~
最基礎(chǔ)用法
f-string最基礎(chǔ)的用法很簡(jiǎn)單,如下例所示,在前綴f的字符串中向{}內(nèi)直接填入要嵌入的值、變量或計(jì)算表達(dá)式:
print(f'1+1 = {2}') #輸出:1+1 = 2 a=1 + 1 print(f'1+1 = {a}') #輸出:1+1 = 2 print(f'1+1 = {1+1}') #輸出:1+1 = 2
自記錄表達(dá)式
從Python3.8版本開(kāi)始,為f-string引入了自記錄表達(dá)式,使得我們可以按照下面的寫(xiě)法快速輸出一些計(jì)算表達(dá)式:
import math a = 8 print(f'{math. log(8) = }') #輸出:math. log(8) = 2.0794415416798357
多行f-string
通過(guò)最外層包裹小括號(hào),我們可以像下面這樣非常靈活地撰寫(xiě)多行f-string:
a = 1 b = 2 c = 3 s = ( f'{a = }\n' f'{b = }\n' f'{c = }\n' ) print(s) #輸出: a = 1 b = 2 c = 3
在f-string中格式化日期
針對(duì)日期類型的變量,我們可以參考下面的方式,直接在f-string中快速地進(jìn)行格式化:
import datetime now = datetime.datetime.now() print(f'{now:%Y年%m月%d號(hào)%H點(diǎn)%M分%S秒}') #輸出: 2021年10月18號(hào)16點(diǎn)45分58秒
控制浮點(diǎn)數(shù)精度
在f-string中我們可以按照下列方式靈活地控制浮點(diǎn)數(shù)的小數(shù)位數(shù):
import math pi = math.pi print(f'{pi: .3f}') print(f'{pi:.8f}') #輸出 3.142 3.14159265
標(biāo)準(zhǔn)化顯示寬度
當(dāng)我們需要對(duì)f-string打印內(nèi)容的顯示最小寬度進(jìn)行限制時(shí),譬如打印出類似表格的結(jié)構(gòu),可以參考下面的例子:
for x in range(1,11): print(f'{x:02}|{x**2:3}/{x**5:6}') #輸出 01| 1/ 1 02| 4/ 32 03| 9/ 243 04| 16/ 1024 05| 25/ 3125 06| 36/ 7776 07| 49/ 16807 08| 64/ 32768 09| 81/ 59049 10|100/100000
修改為左對(duì)齊
f-string默認(rèn)為右對(duì)齊,就像上面的例子,但我們可以像下面這樣使用<修改顯示模式為左對(duì)齊:
for x in range(1,11): print(f'{x:<2}|{x**2:<3}|{x**5:<6}') #輸出 1 |1 |1 2 |4 |32 3 |9 |243 4 |16 |1024 5 |25 |3125 6 |36 |7776 7 |49 |16807 8 |64 |32768 9 |81 |59049 10|100|100000
設(shè)置科學(xué)計(jì)數(shù)法格式
我們可以參考下面的方式實(shí)現(xiàn)指定位數(shù)的科學(xué)計(jì)數(shù)法顯示方式:
import math pi = math.pi print(f'{pi*100:.10e}') #輸出 3.1415926536e+02
控制有效數(shù)字位數(shù)
通過(guò)下面的方式,我們還可以控制所顯示數(shù)字的有效數(shù)字位數(shù),即從左開(kāi)始第一個(gè)不為0的數(shù)字往右一共顯示的個(gè)數(shù),當(dāng)位數(shù)低于整數(shù)部分時(shí)會(huì)自動(dòng)變成科學(xué)計(jì)數(shù)法格式:
a=1312.3123123123123 print(f'{a:.10g}') #輸出:1312.312312 a=1312.3123123123123 print(f'{a:.3g}') #輸出:1.31e+03
會(huì)了嗎?
到此這篇關(guān)于在Python中f-string的幾個(gè)技巧的文章就介紹到這了,更多相關(guān)Python中f-string技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)圖像的二進(jìn)制與base64互轉(zhuǎn)
這篇文章主要為大家介紹了如何在Python中使用OpenCV從而實(shí)現(xiàn)圖像轉(zhuǎn)base64編碼、圖像轉(zhuǎn)二進(jìn)制編碼、二進(jìn)制轉(zhuǎn)圖像等功能,感興趣的可以跟上小編一起學(xué)習(xí)一下2022-03-03Python字典查找數(shù)據(jù)的5個(gè)基礎(chǔ)操作方法
Python字典是另一種可變?nèi)萜髂P?且可存儲(chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型,下面這篇文章主要給大家介紹了關(guān)于Python字典查找數(shù)據(jù)的5個(gè)基礎(chǔ)操作方法,需要的朋友可以參考下2022-06-06pytorch如何使用Imagenet預(yù)訓(xùn)練模型訓(xùn)練
這篇文章主要介紹了pytorch如何使用Imagenet預(yù)訓(xùn)練模型訓(xùn)練問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09pycharm運(yùn)行程序時(shí)在Python console窗口中運(yùn)行的方法
今天小編就為大家分享一篇pycharm運(yùn)行程序時(shí)在Python console窗口中運(yùn)行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12python神經(jīng)網(wǎng)絡(luò)Keras構(gòu)建CNN網(wǎng)絡(luò)訓(xùn)練
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)使用Keras構(gòu)建CNN網(wǎng)絡(luò)訓(xùn)練,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05神經(jīng)網(wǎng)絡(luò)python源碼分享
這篇文章主要介紹了神經(jīng)網(wǎng)絡(luò)python源碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12