在Python中f-string的幾個(gè)技巧,你都知道嗎
f-string想必很多Python用戶(hù)都基礎(chǔ)性的使用過(guò),作為Python3.6版本開(kāi)始引入的特性,通過(guò)它我們可以更加方便地向字符串中嵌入自定義內(nèi)容,但f-string真正蘊(yùn)含的功能遠(yuǎn)比大多數(shù)用戶(hù)知道的要豐富,今天我們就來(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ì)日期類(lèi)型的變量,我們可以參考下面的方式,直接在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í),譬如打印出類(lèi)似表格的結(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)文章
PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上
這篇文章主要介紹了PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上的相關(guān)知識(shí),本文通過(guò)代碼加文字說(shuō)明的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04
使用TensorBoard進(jìn)行超參數(shù)優(yōu)化的實(shí)現(xiàn)
這篇文章主要介紹了使用TensorBoard進(jìn)行超參數(shù)優(yōu)化的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
python?Copula?實(shí)現(xiàn)繪制散點(diǎn)模型
這篇文章主要介紹了python?Copula實(shí)現(xiàn)繪制散點(diǎn)模型,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07
詳解Python如何實(shí)現(xiàn)惰性導(dǎo)入-lazy import
如果你的 Python 程序程序有大量的 import,而且啟動(dòng)非常慢,那么你應(yīng)該嘗試懶導(dǎo)入,本文分享一種實(shí)現(xiàn)惰性導(dǎo)入的一種方法,需要的可以參考一下2022-10-10
Python中subprocess的簡(jiǎn)單使用示例
這篇文章主要介紹了Python中subprocess的簡(jiǎn)單使用示例,是Python進(jìn)程方面處理的相關(guān)重要知識(shí),需要的朋友可以參考下2015-07-07
Caffe均值文件mean.binaryproto轉(zhuǎn)mean.npy的方法
今天小編就為大家分享一篇Caffe均值文件mean.binaryproto轉(zhuǎn)mean.npy的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
關(guān)于Python的一些學(xué)習(xí)總結(jié)
這篇文章主要介紹了關(guān)于Python的一些總結(jié),希望自己以后在學(xué)習(xí)Python的過(guò)程中可以邊學(xué)習(xí)邊總結(jié),就自己之前的學(xué)習(xí)先做以總結(jié),之后將不斷總結(jié)更新2018-05-05

