關於python字符串format的一些花式用法


目錄:

基礎

實戰

 


 

前提:

python中字符串的format功能非常強大,可以說完全能夠替代其他的字符串使用方法,但是在后期的項目開發中使用的並不是特別的多,

以至於想用的時候會想不起來准確的使用方法,所以在這里匯總一下format的常用方法,方便以后查閱

基礎

format的大括號用法可以實現字符串的拼接:

In [1]: '大家好,這里是{},我是博主{}'.format('博客園', 'pywjh')
Out[1]: '大家好,這里是博客園,我是博主pywjh'

大括號內可以打亂順序,根據{}里面的順序寫進format就好了:

In [2]: '大家好,這里是{1},我是博主{0}'.format('pywjh', '博客園')
Out[2]: '大家好,這里是博客園,我是博主pywjh'

保留輸出的小數點位數

In [22]: '{:.2f}'.format(1.222)
Out[22]: '1.22'

限制輸出數字的位數,也要保留小數位數

In [30]: '{:5.2f}'.format(1.222)
Out[30]: ' 1.22' # 空格、一、小數點、二、二 共5位

千位分隔符號輸出:

In [60]: '{:,}'.format(132456)
Out[60]: '132,456'

百分號輸出:

In [48]: '{:.2%}'.format(0.333333)
Out[48]: '33.33%'

In [49]: '{:.1%}'.format(0.333333)
Out[49]: '33.3%'

在項目開發中常用到的輸出技巧:

In [50]: a = 10
In [51]: f'a的值是{a}!'
Out[51]: 'a的值是10!'

以及:

In [55]: b = '大家好,我是{}!!!'.format
In [56]: b('pywjh')
Out[56]: '大家好,我是pywjh!!!'

 實戰

  • 給定一個數字 123456,請采用寬度為 25、右對齊方式打印輸出,使用加號“+”填充。
In [57]: '{:+>25}'.format(123456)
Out[57]: '+++++++++++++++++++123456'
  • 給定一個數字12345678.9,請增加千位分隔符號,設置寬度為30、右對齊方式打印輸出,使用空格填充。 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
In [59]: '{:>30,}'.format(13245678.9)
Out[59]: '                  13,245,678.9'
  • 給定一個整數數字0x1010,請依次輸出Python語言中十六進制、十進制、八進制和二進制表示形式,使用英文逗號分隔。
In [62]: '0x{0:x}, {0:}, 0o{0:o}, 0b{0:b}'.format(0x1010)
Out[62]: '0x1010, 4112, 0o10020, 0b1000000010000'
  • 編寫 Python 程序輸出一個具有如下風格效果的文本,用作文本進度條樣式,部分代碼如下,填寫空格處。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
   10%@==    20%@====   100%@====================

  前三個數字,右對齊;后面字符,左對齊‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

  文本中左側一段輸出 的值,右側一段根據 的值輸出等號,中間用 @ 分隔,等號個數為 與 5 的整除商的值,例如,當 等於 10 時,輸出 2 個等號。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

N = input()   # N取值范圍是0—100,整數
print("{:>3}%@{}".format(N,"="*(N//5)))
  • 根據輸入字符串 s,輸出一個寬度為 15 字符,字符串 s 居中顯示,以“=”填充的格式。如果輸入字符串超過 15 個字符,則輸出字符串前 15 個字符。提示代碼如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬
  s = input()   print(____①____)
  輸入 輸出
示例 1
PYTHON
====PYTHON=====
s = input()  # "請輸入一個字符串:"
print("{:=^15}".format(s[0:15]))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM