- Python從入門到項目實踐(超值版)
- 聚慕課教育研發中心
- 1040字
- 2020-01-20 14:50:18
5.2 格式化字符串
在編寫程序的過程中,經常需要進行格式化的輸出,Python中提供了字符串格式化操作符%,非常類似C語言中的printf()函數的字符串的格式化(C語言中也使用%)。格式化字符串時,Python使用一個字符串作為一個模板,模板中有格式符,這些格式符為真實數值預留位置,并說明真實數值應該呈現的格式。
Python中常見的字符串格式化符號可以包含的類型見表5-1。
表5-1 格式符類型

通過“%”可以進行字符串的格式化,但是“%”經常會結合下面的操作輔助指令一起使用,如表5-2所示。
表5-2 操作輔助符

5.2.1 格式化字符串符號的簡單使用

下面一起通過對三個格式化字符串符號%s,%d,%f的簡單使用,來看看格式化字符串符號的用法。
【例5-9】%s字符串的簡單使用。

程序運行結果如圖5-9所示。

圖5-9 %s使用結果
【例5-10】%d整數的簡單使用。

程序運行結果如圖5-10所示。
【例5-11】%f浮點數的簡單使用。

程序運行結果如圖5-11所示。

圖5-10 %d使用結果

圖5-11 %f使用結果
5.2.2 字符寬度和精度

字符寬度:轉換后的值所保留的最小字符個數。
精度:對于數字轉換來說,結果中應包含的小數位數;對于字符串轉換來說,轉換后的值所能包含的最大字符個數。
表示格式:字符寬度、精度,若給出精度,則必須包含點號。
【例5-12】指定寬度。

程序運行結果如圖5-12所示。
【例5-13】浮點數精度。

程序運行結果如圖5-13所示。

圖5-12 指定寬度結果

圖5-13 浮點數精度結果
5.2.3 對齊和用0填充

字符串對齊有多種方法,這里介紹兩種方法。
第一種:字符^、<、>分別是居中、左對齊、右對齊,后面帶寬度。
【例5-14】使用字符^、<、>進行數據的對齊。

程序運行結果如圖5-14所示。
第二種:在Python中打印字符串時可以調用ljust(左對齊)、rjust(右對齊)和center(中間對齊)來輸出整齊美觀的字符串。
如果希望字符串的長度固定,給定的字符串又不夠長度,可以通過rjust、ljust和center三個方法來給字符串補全空格。rjust為向右對齊,在左邊補空格;ljust為向左對齊,在右邊補空格;center為讓字符串居中,在左右補空格。
【例5-15】調用ljust()、rjust()、center()函數進行數據的對齊。

程序運行結果如圖5-15所示。

圖5-14 使用字符^、<、>對齊結果

圖5-15 調用函數對齊結果
同樣,用0填充也有多種方法,下面介紹兩種。
第一種,使用:號后面帶填充的字符,只能是一個字符,若無指定則默認是用空格填充。
【例5-16】使用:號進行0填充。

程序運行結果如圖5-16所示。
第二種:zfill()方法返回指定長度的字符串,原字符串右對齊,前面填充0。
zfill()方法語法:str.zfill(width)。參數width指定字符串的長度。原字符串右對齊,前面填充0。返回指定長度的字符串。
【例5-17】使用zfill()函數進行0填充。

程序運行結果如圖5-17所示。

圖5-16 使用:號進行0填充結果

圖5-17 使用函數進行0填充結果