亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 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表示輸出寬度。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲91精品在线| 久久大大胆人体| 欧美性生交大片免网| 中文字幕亚洲无线码在线一区| 高清一区二区三区日本久| 午夜精品久久久99热福利| 26uuu另类亚洲欧美日本一| 国产精品伦子伦免费视频| 精品免费在线视频| 91精品免费久久久久久久久| 色噜噜狠狠狠综合曰曰曰88av| 亚洲欧美一区二区三区四区| 亚洲男人天堂2024| 日韩精品免费在线播放| 欧美视频免费在线| 高清欧美一区二区三区| 欧美野外wwwxxx| 国产精品入口福利| 欧美午夜丰满在线18影院| www.亚洲男人天堂| 欧美激情va永久在线播放| 亚洲电影中文字幕| 亚洲 日韩 国产第一| 久久久久在线观看| 成人两性免费视频| 亚洲www永久成人夜色| 国产精品偷伦免费视频观看的| 亚洲男人天堂九九视频| 欧美乱妇高清无乱码| www高清在线视频日韩欧美| 精品动漫一区二区| 日韩欧美亚洲综合| 法国裸体一区二区| 国产精品爱久久久久久久| 国产精品久久久久久久久久久新郎| 欧美最猛性xxxxx亚洲精品| 国产精品视频1区| 亚洲精品短视频| 国产午夜精品一区理论片飘花| 日韩精品免费视频| 亚洲欧美国产精品| 亚洲综合最新在线| 午夜精品视频网站| 亚洲精品欧美日韩专区| 久久久久久久久亚洲| 555www成人网| 亚洲已满18点击进入在线看片| 久久精品国产免费观看| …久久精品99久久香蕉国产| 国产精品高清免费在线观看| 亚洲成人在线视频播放| 欧美激情欧美激情| 日韩免费在线免费观看| 成人在线免费观看视视频| 国产精品久久久久999| 高跟丝袜一区二区三区| 国产精品一区二区性色av| 成人免费淫片aa视频免费| 精品调教chinesegay| 中国日韩欧美久久久久久久久| 成人国产精品日本在线| 亚洲成人a**站| 久久久国产成人精品| 亚洲第一视频在线观看| 国产精品久久久久久搜索| 国产午夜精品全部视频在线播放| 久久免费在线观看| 91国产在线精品| 亚洲第一av在线| 欧美高清在线播放| 国产91精品青草社区| 亚洲欧美国产高清va在线播| 欧美性猛交xxxxx免费看| 欧美最猛性xxxxx(亚洲精品)| 91精品久久久久久| 国产精品入口夜色视频大尺度| 国产精品扒开腿做爽爽爽男男| 亚洲图片欧美日产| 国产日韩综合一区二区性色av| 日韩欧美999| 久久av中文字幕| 亚洲无av在线中文字幕| 精品综合久久久久久97| 亚洲图片在区色| 成人欧美一区二区三区黑人| 亚洲人成网站777色婷婷| 久久久亚洲网站| 亚洲一区二区三区久久| 欧美国产精品va在线观看| www.欧美视频| 韩国国内大量揄拍精品视频| 欧美日韩性视频| 国产福利精品av综合导导航| 国产免费一区视频观看免费| 亚洲一区二区三区在线视频| 国产欧美日韩专区发布| 91国产一区在线| 国产精品免费视频xxxx| 国产精品视频资源| 粉嫩老牛aⅴ一区二区三区| 日韩高清电影免费观看完整| 日韩亚洲精品电影| 久久久视频免费观看| 51ⅴ精品国产91久久久久久| 夜夜嗨av色一区二区不卡| 日韩精品在线视频观看| 精品久久久久久久中文字幕| 亚洲精品在线不卡| 久久久久久久激情视频| 国产精品mp4| 国产精欧美一区二区三区| 一区二区三区亚洲| 97视频免费在线观看| 在线视频欧美性高潮| 亚洲第一天堂无码专区| 亚洲国产成人精品电影| 狠狠久久五月精品中文字幕| 日韩在线资源网| 日韩福利视频在线观看| 1769国产精品| 亚洲国产女人aaa毛片在线| 亚洲精品日韩av| 日本欧美爱爱爱| 国内精品视频久久| 91在线视频免费| 国产精品美女在线观看| 韩国日本不卡在线| 成人国产亚洲精品a区天堂华泰| 久久精品国产亚洲一区二区| 日韩一区二区三区xxxx| 中文国产亚洲喷潮| 2019中文字幕全在线观看| 国产97在线视频| 亚洲日本欧美中文幕| 在线观看欧美日韩国产| 亚洲a级在线观看| 爱福利视频一区| 欧美精品生活片| 欧美精品成人91久久久久久久| 欧美国产日韩二区| 在线午夜精品自拍| 日韩在线资源网| 亚洲高清在线观看| 亚洲国产欧美自拍| 国产成人在线亚洲欧美| 中文字幕亚洲综合久久| 欧美激情亚洲国产| 精品女厕一区二区三区| 一本大道香蕉久在线播放29| 国产精品久久久久久久av大片| 色青青草原桃花久久综合| 久久av资源网站| 欧美电影免费看| 国产精品69久久久久| 亚洲色图激情小说| 久久久av亚洲男天堂| 国产香蕉精品视频一区二区三区| 久久久久www| 韩日欧美一区二区| 成人亚洲欧美一区二区三区| 欧美国产日韩一区二区在线观看| 精品国产一区二区三区四区在线观看| 国产精品九九九| 麻豆乱码国产一区二区三区|