Python格式化字符串f-string常用用法
簡(jiǎn)介:
f-string,亦稱為格式化字符串常量(formatted string literals),是Python3.6新引入的一種字符串格式化方法,該方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加簡(jiǎn)便。f-string在形式上是以 f 或 F 修飾符引領(lǐng)的字符串(f’xxx’ 或 F’xxx’),以大括號(hào) {} 標(biāo)明被替換的字段;f-string在本質(zhì)上并不是字符串常量,而是一個(gè)在運(yùn)行時(shí)運(yùn)算求值的表達(dá)式:
f-string在功能方面不遜于傳統(tǒng)的%-formatting語句和str.format()函數(shù),同時(shí)性能又優(yōu)于二者,且使用起來也更加簡(jiǎn)潔明了,因此對(duì)于Python3.6及以后的版本,推薦使用f-string進(jìn)行字符串格式化。
常用用法:
1.簡(jiǎn)單使用
f-string用大括號(hào) {} 表示被替換字段,其中直接填入替換內(nèi)容:
# -*- coding: utf-8 -*-# 主函數(shù) if __name__ == '__main__':num = 10print(f'My lucky number is {num}')運(yùn)行效果如下:
"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py My lucky number is 102.表達(dá)式求值與函數(shù)調(diào)用
f-string的大括號(hào) {} 可以填入表達(dá)式或調(diào)用函數(shù),Python會(huì)求出其結(jié)果并填入返回的字符串內(nèi):
# -*- coding: utf-8 -*-# 主函數(shù) if __name__ == '__main__':for i in range(0, 5):print(f'第{i*2}行')運(yùn)行結(jié)果如下:
"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py 第0行 第2行 第4行 第6行 第8行3.引號(hào)、大括號(hào)與反斜杠
f-string大括號(hào)內(nèi)所用的引號(hào)不能和大括號(hào)外的引號(hào)定界符沖突,可根據(jù)情況靈活切換 ' 和 ";
若 ' 和 " 不足以滿足要求,還可以使用 ''' 和 """;
# -*- coding: utf-8 -*-# 主函數(shù) if __name__ == '__main__':print(f"""She said {"I'm Tom"}""")運(yùn)行結(jié)果如下:
"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py She said I'm Tom大括號(hào)外的引號(hào)還可以使用 \ 轉(zhuǎn)義,但大括號(hào)內(nèi)不能使用 \ 轉(zhuǎn)義;
f-string大括號(hào)外如果需要顯示大括號(hào),則應(yīng)輸入連續(xù)兩個(gè)大括號(hào) {{ 和 }};
上面提到,f-string大括號(hào)內(nèi)不能使用 \ 轉(zhuǎn)義,事實(shí)上不僅如此,f-string大括號(hào)內(nèi)根本就不允許出現(xiàn) \。如果確實(shí)需要 \,則應(yīng)首先將包含 \ 的內(nèi)容用一個(gè)變量表示,再在f-string大括號(hào)內(nèi)填入變量名;
4.多行f-string
f-string還可用于多行字符串
# -*- coding: utf-8 -*-# 主函數(shù) if __name__ == '__main__':math = 96language = 89programming = 78strMyScore = f"""math={math},language={language},programming={programming}。"""print("我的學(xué)科成績(jī):" + strMyScore)運(yùn)行結(jié)果如下:
"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py 我的學(xué)科成績(jī):math=96,language=89,programming=78。5.自定義格式:對(duì)齊、寬度、符號(hào)、補(bǔ)零、精度、進(jìn)制等
f-string采用 {content:format} 設(shè)置字符串格式,其中 content 是替換并填入字符串的內(nèi)容,可以是變量、表達(dá)式或函數(shù)等,format 是格式描述符。采用默認(rèn)格式時(shí)不必指定 {:format},如上面例子所示只寫 {content} 即可。
運(yùn)行結(jié)果如下:
"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py temp is 39.26 temp is 012 temp is 0x64如果本文對(duì)您有所幫助,請(qǐng)關(guān)注微信公眾號(hào)“捷創(chuàng)源科技”!
總結(jié)
以上是生活随笔為你收集整理的Python格式化字符串f-string常用用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python计算校验文件的MD5、SHA
- 下一篇: Python如何忽略warning的输出