Python?創(chuàng)建格式化字符串方法
格式化字符串
當(dāng)我們需要?jiǎng)?chuàng)建文本或文檔時(shí),我們往往希望能夠?qū)⒅嫡_格式化為結(jié)構(gòu)化字符串。 Python提供了多種選項(xiàng)用于正確對(duì)字符串進(jìn)行格式化并呈現(xiàn)。本節(jié),我們將介紹創(chuàng)建格式化文本時(shí)的一些常用選項(xiàng)。
Format 方法
在 Python 通常使用format方法格式化字符串,通常使用以下方式利用 format方法顯示變量:
result = template.format(*parameters)
其中,模板 (template) 是一個(gè)需要使用變量進(jìn)行解釋的字符串。在最簡(jiǎn)單的情況下,模板將大括號(hào)之間的值替換為 parameters 變量值,為了更好的理解,
我們查看以下簡(jiǎn)單示例:
>>> '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)對(duì)。但是對(duì)于復(fù)雜情況,例如自動(dòng)對(duì)齊字符串和創(chuàng)建排版美觀的文本時(shí),format方法也提供了更多的選擇。
接下來,我們編寫腳本 format_string.py來打印需要對(duì)齊的表格:
# 輸入數(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')
# 以正確的格式對(duì)齊和顯示數(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)行以上腳本以顯示對(duì)齊后的表格:
$ 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 常量定義了一個(gè)具有三列的表格,每一列由一個(gè)名為 fy21、fy22和 change的參數(shù)定義,便于將模板應(yīng)用于格式調(diào)用。
用于定義格式所有內(nèi)容都在大括號(hào)內(nèi)。在參數(shù)名稱之后,使用一個(gè)冒號(hào)分隔格式定義,在所有列中,我們都將寬度設(shè)置為8個(gè)字符,以確保所有列具有相同的寬度,并使用 > 符號(hào)將值向右對(duì)齊:
Fy21帶有 “,” 符號(hào)的作為千位分隔符 ——{fy21:>+8,}Fy21和fy22為正值,因此使用 “+” 號(hào)用于自動(dòng)添加數(shù)值符號(hào) ——{fy21:>+8,}、{fy22:>+8}Change使用 “.” 符號(hào)來聲明顯示精度 ——{change:>8.3}
其它格式化字符串方法
有時(shí),我們還可能還看到過使用%運(yùn)算符的來設(shè)置Python格式,但它不如format方法靈活,因此,已不推薦使用。
此外,自Python 3.6以來Python中新增了一個(gè)很棒的特性是使用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.'使用這種特性可以簡(jiǎn)化很多代碼,并允許我們創(chuàng)建非常具有可讀性的代碼。
到此這篇關(guān)于Python 創(chuàng)建格式化字符串方法的文章就介紹到這了,更多相關(guān)Python 格式化字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python字符串格式化format()方法運(yùn)用實(shí)例
- 深入了解Python中字符串格式化工具f-strings的使用
- 詳解Python的字符串格式化
- Python中格式化字符串輸出的4種方式小結(jié)
- Python字符串類型及格式化問題
- python使用?f?格式化字符串的用法
- Python字符串格式化實(shí)例講解
- Python格式化字符串f-string的使用教程
- Python格式化輸出字符串的五種方法總結(jié)
- 詳解Python數(shù)據(jù)類型、進(jìn)制轉(zhuǎn)換、字符串格式化的問題
- python字符串格式化函數(shù)
- python實(shí)現(xiàn)三種字符串格式化方法(%、format、f-string)
相關(guān)文章
Python基于內(nèi)置庫pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識(shí)別功能
這篇文章主要介紹了Python基于內(nèi)置庫pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識(shí)別功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
pytorch 實(shí)現(xiàn)cross entropy損失函數(shù)計(jì)算方式
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)cross entropy損失函數(shù)計(jì)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
flask框架json數(shù)據(jù)的拿取和返回操作示例
這篇文章主要介紹了flask框架json數(shù)據(jù)的拿取和返回操作,結(jié)合實(shí)例形式分析了flask框架針對(duì)json格式數(shù)據(jù)的解析、數(shù)據(jù)庫操作與輸出等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
100行Python代碼實(shí)現(xiàn)每天不同時(shí)間段定時(shí)給女友發(fā)消息
這篇文章主要介紹了100行Python代碼,每天不同時(shí)間段定時(shí)給女友發(fā)消息,本文給出了實(shí)現(xiàn)思路,代碼簡(jiǎn)單易懂非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
學(xué)python需要去培訓(xùn)機(jī)構(gòu)嗎
在本篇文章里小編給大家整理的是關(guān)于學(xué)python是否需要去培訓(xùn)機(jī)構(gòu)的相關(guān)內(nèi)容,有需要的朋友們可以閱讀下。2020-07-07
用TensorFlow實(shí)現(xiàn)lasso回歸和嶺回歸算法的示例
本篇文章主要介紹了用TensorFlow實(shí)現(xiàn)lasso回歸和嶺回歸算法的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05

