Python?創(chuàng)建格式化字符串方法
格式化字符串
當(dāng)我們需要創(chuàng)建文本或文檔時,我們往往希望能夠?qū)⒅嫡_格式化為結(jié)構(gòu)化字符串。 Python
提供了多種選項用于正確對字符串進(jìn)行格式化并呈現(xiàn)。本節(jié),我們將介紹創(chuàng)建格式化文本時的一些常用選項。
Format 方法
在 Python 通常使用format方法格式化字符串,通常使用以下方式利用 format
方法顯示變量:
result = template.format(*parameters)
其中,模板 (template
) 是一個需要使用變量進(jìn)行解釋的字符串。在最簡單的情況下,模板將大括號之間的值替換為 parameters
變量值,為了更好的理解,
我們查看以下簡單示例:
>>> 'My name is {}'.format('Brainiac') 'My name is Brainiac' >>> 'The price of ({}) is {}'.format('apple',6.28) 'The price of (apple) is 6.28' >>> 'And all of that happens in the {1} {0}.'.format('second','first') 'And all of that happens in the first second.' >>> 'The {fruit} should be eaten within {number} days.'.format(number=3, fruit='banana') 'The banana should be eaten within 3 days.'
在絕大多數(shù)情況下,我們只需要這種格式就能應(yīng)對。但是對于復(fù)雜情況,例如自動對齊字符串和創(chuàng)建排版美觀的文本時,format
方法也提供了更多的選擇。
接下來,我們編寫腳本 format_string.py
來打印需要對齊的表格:
# 輸入數(shù)據(jù) data = [ ????(1615.8, 1604.1), ????(183.3, 152.8), ????(1254.9, 1308.1), ????(155.4, 161.0), ] # 表頭 print(' Q1 FY21 | ?Q1 FY22 | ?Change') # 以正確的格式對齊和顯示數(shù)據(jù) TEMPLATE = '{fy21:>+8,} | {fy22:>+8} | {change:>8.3}' # 打印數(shù)據(jù) for fy21, fy22 in data: ????row = TEMPLATE.format(fy21=fy21, fy22=fy22, change=fy22 - fy21) ????print(row)
運(yùn)行以上腳本以顯示對齊后的表格:
$ python format_string.py ?Q1 FY21 | ?Q1 FY22 | ? Change +1,615.8 | ?+1604.1 | ???-11.7 ??+183.3 | ??+152.8 | ???-30.5 +1,254.9 | ?+1308.1 | ????53.2 ??+155.4 | ??+161.0 | ?????5.6
在以上腳本中,使用 TEMPLATE
常量定義了一個具有三列的表格,每一列由一個名為 fy21
、fy22
和 change
的參數(shù)定義,便于將模板應(yīng)用于格式調(diào)用。
用于定義格式所有內(nèi)容都在大括號內(nèi)。在參數(shù)名稱之后,使用一個冒號分隔格式定義,在所有列中,我們都將寬度設(shè)置為8
個字符,以確保所有列具有相同的寬度,并使用 > 符號將值向右對齊:
Fy21
帶有 “,
” 符號的作為千位分隔符 ——{fy21:>+8,}
Fy21
和fy22為正值,因此使用 “+
” 號用于自動添加數(shù)值符號 ——{fy21:>+8,}
、{fy22:>+8}
Change
使用 “.
” 符號來聲明顯示精度 ——{change:>8.3}
其它格式化字符串方法
有時,我們還可能還看到過使用%
運(yùn)算符的來設(shè)置Python
格式,但它不如format
方法靈活,因此,已不推薦使用。
此外,自Python 3.6
以來Python
中新增了一個很棒的特性是使用f-strings
進(jìn)行格式化,它使用定義的變量執(zhí)行格式化操作:
>>> p1 = 'first' >>> p2 = 'second' >>> f'And all of that happens in the {p1} {p2}.' 'And all of that happens in the first second.'
使用這種特性可以簡化很多代碼,并允許我們創(chuàng)建非常具有可讀性的代碼。
到此這篇關(guān)于Python 創(chuàng)建格式化字符串方法的文章就介紹到這了,更多相關(guān)Python 格式化字符串內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python字符串格式化format()方法運(yùn)用實例
- 深入了解Python中字符串格式化工具f-strings的使用
- 詳解Python的字符串格式化
- Python中格式化字符串輸出的4種方式小結(jié)
- Python字符串類型及格式化問題
- python使用?f?格式化字符串的用法
- Python字符串格式化實例講解
- Python格式化字符串f-string的使用教程
- Python格式化輸出字符串的五種方法總結(jié)
- 詳解Python數(shù)據(jù)類型、進(jìn)制轉(zhuǎn)換、字符串格式化的問題
- python字符串格式化函數(shù)
- python實現(xiàn)三種字符串格式化方法(%、format、f-string)
相關(guān)文章
Python 模擬生成動態(tài)產(chǎn)生驗證碼圖片的方法
這篇文章主要介紹了Python 模擬生成動態(tài)產(chǎn)生驗證碼圖片的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02python使用openpyxl庫讀寫Excel表格的方法(增刪改查操作)
這篇文章主要介紹了python使用openpyxl庫讀寫Excel表格的方法(增刪改查操作),本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05Django的restframework接口框架自定義返回數(shù)據(jù)格式的示例詳解
這篇文章主要介紹了Django的restframework接口框架自定義返回數(shù)據(jù)格式,本文介紹了通過Django的restframework接口框架自定義Response返回對象來自定義返回數(shù)據(jù)格式,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Pycharm出現(xiàn)卡頓、反應(yīng)慢及CPU占用高等問題解決
相信很多剛開始使用pycharm不太熟練的小伙伴,每天一開機(jī)打開pycharm總是卡半天,不知道的還以為是電腦卡了或者啥問題的,下面這篇文章主要給大家介紹了關(guān)于Pycharm出現(xiàn)卡頓、反應(yīng)慢及CPU占用高等問題解決的相關(guān)資料,需要的朋友可以參考下2023-06-06python3實現(xiàn)raspberry pi(樹莓派)4驅(qū)小車控制程序
這篇文章主要為大家詳細(xì)介紹了python3實現(xiàn)raspberry pi(樹莓派)4驅(qū)小車控制程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02Python使用Pandas處理測試數(shù)據(jù)的方法
Pandas是一個功能極其強(qiáng)大的數(shù)據(jù)分析庫,可以高效地操作各種數(shù)據(jù)集,這篇文章主要介紹了Python自動化測試-使用Pandas來高效處理測試數(shù)據(jù),需要的朋友可以參考下2023-02-02