麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

Python中format()函數中的對齊與寬度問題

2023-04-25 12:32:02
字體:
來源:轉載
供稿:網友

本站在前面兩篇文章中分別介紹了Python中format()函數格式化字符串的基本用法以及format()函數格式化數字字符串的相關知識。這篇文章將進一步接招format()函數有關設置寬度、填充與字符串對齊方式的有關內容。

format()函數使用的相關文章:

(1)Python中使用format()函數格式化字符串

(2)Python中使用format()函數對數字進行格式化

(3)Python中format()函數中的對齊與寬度問題

Python format()函數格式化字符串的寬度、對齊方式和填充字符

1、format()函數的輸出寬度設置

format()函數可以指定字符串的輸出寬度,其語法格式如下:

"{:width}".format(args)

下面舉幾個例子說明(格式字符串中的豎線“|”用于標記字符串結束的位置):

#format()函數字符串寬度設置
print("{:6}|".format("我愛中國"))
print("{:10}|".format("我愛中國"))
print("{:2}|".format("我愛中國"))

輸出結果如下:

我愛中國  |
我愛中國      |
我愛中國|

在Python 3.8.2中的代碼及運行結果如下圖所示:

format()函數寬度設置

從上面的輸出結果可以看出,對于超出字符串長度的寬度設置值,格式化的結果將會在后面補充空格以達到指定的寬度;對于設置的寬度值小于字符串長度時,輸出寬度默認為字符串的長度(換句話說,設置的值不會對格式化結果起到任何作用。)

同時要注意,設置的寬度值必須是一個大于0的整數,即,小于等于0的值是無效的值,否則將引發ValueError錯誤。

Python中的format()函數寬度設置也可以使用在數字格式化中。

下面舉幾個例子用于說明寬度設置在數字中使用的情形(格式字符串中的豎線“|”用于標記數字的起始位置):

#寬度也適用于數字格式
print("|{:5}|".format(123))
print("|{:6}|".format(123.34))
print("|{:3}|".format(123.34))

輸出結果如下:

|  123|
|123.34|
|123.34|

在Python 3.8.2 中的運行情況如下圖所示:

Python format()函數指定數字輸出的寬度

 從上面的輸出結果可以看出,Python format()函數在對輸出數字格式寬度時,如果給定的寬度值大于數字寬度(包括小數點),則在前面補空格,補的空格數量為指定的寬度值-數字寬度如果指定的寬度值小于或等于數字的寬度,則原樣輸出數字,即設置的寬度值將不會起作用

2、format()函數輸出對齊方式設置

在Python字符串函數中,format()函數可以使用特定的指示符指定輸出內容的對齊方式。

Python中對齊選項的指示符包括以下幾種。

類型 含義
'<' 強制輸出內容在可用空間內靠左側對齊(大多數對象的默認情形)
'>' 強制輸出內容在可用空間內靠右側對齊(數字的默認情形)。
'=' 強制將填充放置在符號之后(如果有的話)數字之前。這個選項用于類似' +000000120 '這樣的輸出內容。此對齊選項僅對數字類型有效。當' 0 '緊接在字段寬度之前時,它成為默認值。。
'^' 強制將輸出內容在可用空間內中間對齊。

一般,對齊方式與寬度設置選項一起使用才有意義,否則格式化后的字符串只能默認靠左輸出。

下面舉例子說明具體使用方法(格式字符串中的豎線“|”用于指定寬度的起止位置):

#format()設置對齊方式

#未使用寬度設置選項時
print("未使用寬度選項時的效果:")
print("|{:>}|".format("歡迎關注本站公眾號:優雅的代碼"))
print("|{:<}|".format("歡迎關注本站公眾號:優雅的代碼"))
print("|{:^}|".format("歡迎關注本站公眾號:優雅的代碼"))

#使用寬度設置選項時
print("使用寬度選項時的效果:")
print("|{:>20}|".format("歡迎關注本站公眾號:優雅的代碼"))
print("|{:<20}|".format("歡迎關注本站公眾號:優雅的代碼"))
print("|{:^20}|".format("歡迎關注本站公眾號:優雅的代碼"))

輸出結果如下:

未使用寬度選項時的效果:
|歡迎關注本站公眾號:優雅的代碼|
|歡迎關注本站公眾號:優雅的代碼|
|歡迎關注本站公眾號:優雅的代碼|
使用寬度選項時的效果:
|     歡迎關注本站公眾號:優雅的代碼|
|歡迎關注本站公眾號:優雅的代碼     |
|  歡迎關注本站公眾號:優雅的代碼   |

在Python 3.8.2 中的輸出結果如下圖所示:

 Python中的format()函數設置對齊方式

從上面的輸出結果可以看出,在未指定寬度時,三個選項輸出的形式是一樣的。

在指定寬度后,由于字符串長度為15,">"選項在可用空間20下,內容靠右側對齊,前面補5個空格;"<"選項使輸出字符串靠左對齊,右側補5個空格;"^"選項使輸出字符串中間對齊,余量為奇數5,則前端補2個空格,后端補3個空格。

該類選項也可以使用于數字中,如下面的例子:

#數字的對齊
print("|{:>10}|".format(1234.56))
print("|{:<10}|".format(1234.56))
print("|{:^10}|".format(1234.56))
print("|{:=+10}|".format(1234.56))
print("|{:=10}|".format(-1234.56))

輸出結果如下:

|   1234.56|
|1234.56   |
| 1234.56  |
|+  1234.56|
|-  1234.56|

從輸出結果可以看出,前三個與字符串相同,“=”選項設置使空格填充在正負號和數字之間。

 3、format()函數對輸出內容填充字符

在指定寬度選項時,format()函數允許用戶指定寬度余量要填充的字符。在上面的例子中,我們可以看到Python默認使用空格進行填充,我們也可以指定其它任意單個字符來填充余量。

下面舉例說明:

#format()填充字符

print("{:#<30}".format("歡迎關注優雅的代碼公眾號"))
print("{:~>30}".format("歡迎關注優雅的代碼公眾號"))
print("{:*^30}".format("歡迎關注優雅的代碼公眾號"))

print("{:0<15}".format(1234.56))
print("{:0>15}".format(1234.56))
print("{:0^15}".format(1234.56))
print("{:0^+15}".format(1234.56))
print("{:0=+15}".format(1234.56))
print("{:0=+15}".format(-1234.56))

輸出結果如下:

歡迎關注優雅的代碼公眾號##################
~~~~~~~~~~~~~~~~~~歡迎關注優雅的代碼公眾號
*********歡迎關注優雅的代碼公眾號*********
1234.5600000000
000000001234.56
00001234.560000
000+1234.560000
+00000001234.56
-00000001234.56

上面的例子和輸出結果有力的說明了填充字符的使用方法。其中,后6個演示了填充字符選項在數字中的使用情形,要注意到在使用“=”選項時,其字符填充在了正負號和數字之間了。

總結

在format()字符串格式化中,寬度(width)、填充字符(fill)、對齊方式(align)等的語法規范如下:

[[fill]align][sign][width]

中括號表示可選項,語法給出了三者之間的關系:在給定對齊方式(<,>,=,^)時,才能指定填充字符(填充字符可以為任意字符),sign表示符號(正負號,見 Python中使用format函數對數字進行格式化),width表示輸出寬度。

從語法中可以看出,如果三者同時出現的話,其順序應該是:填充字符,對齊方式,寬度

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久网国产精品 | 欧美激情图区 | 久久久久久久91 | 97超碰资源站 | 五月天堂婷婷 | 性爱视频在线免费 | 狠狠色成色综合网 | 九九夜夜| 嗯~啊~弄嗯~啊h高潮视频 | 国产精品成人一区二区三区吃奶 | 毛片一区二区三区四区 | 日本精品视频一区二区三区四区 | 国产高潮好爽受不了了夜色 | 成人午夜视频在线观看 | 日韩毛片一区二区三区 | 久久国产精品91 | 一区二区三区日韩电影 | 看中国一级毛片 | 国产精品手机在线亚洲 | 免费h片 | 欧美日韩国产成人在线 | 精品久久久久久久久中文字幕 | 欧美一级特黄aaaaaa在线看首页 | 在线成人免费av | 一级做受毛片免费大片 | 99久久婷婷国产综合精品青牛牛 | 国产精品免费久久久久 | 成人做爽爽爽爽免费国产软件 | 国产精品视频在线观看免费 | 精品亚洲综合 | 中文字幕在线观看视频一区 | 欧美精品成人一区二区在线观看 | 91一区二区三区久久久久国产乱 | 国产精品999在线观看 | 国产精品高潮视频 | 久久国产一级片 | 日韩视频在线观看免费视频 | 天天看天天摸天天操 | 欧美日韩亚洲不卡 | 一级做a爱片久久 | 国产成人精品视频在线 |