7. python 字符串格式化方法(2)

2022-07-04 15:11 更新

7. python 字符串格式化方法(2)

緊接著上一章節(jié),這一章節(jié)我們聊聊怎樣添加具體格式化

就是指定替換字段的大小、對(duì)齊方式和特定的類型編碼,結(jié)構(gòu)如下:

{fieldname!conversionflag:formatspec}

fieldname 指定參數(shù)的一個(gè)數(shù)字或者關(guān)鍵字,后面可選 .name 或者 [index] 引用

conversionflag 可以是 r/s/a 或者是在該值上對(duì) repr/str/ascii 內(nèi)置函數(shù)的一次調(diào)用

formatspec 指定如何表示該值,如字段寬帶、對(duì)齊方式、補(bǔ)零、小數(shù)點(diǎn)精度等,并以一個(gè)可選的數(shù)據(jù)類型編碼結(jié)束

  >>> '{0:10}={1:10}'.format ('abcde',1.234566789)  
  'abcde     =1.234566789'    >>> '{0:10}={1:3}'.format ('abcde',1.234566789)  
  'abcde     =1.234566789'  
  >>> '{0:10}={1:3}'.format ('abcde',123456678.9)  
  'abcde     =123456678.9'  
  >>> '{0:.format ('abcde',123456678.9)  
  'abcde     =123456678.9'    >>> '{0:>10}={1:3}'.format ('abcde',123456678.9)  
  '     abcde=123456678.9'  
  >>> import sys  
  >>> '{0.platform:>10}={1:3}'.format (sys,123456678.9)  
  '     win32=123456678.9'  

上面舉了一些例子

{0:10} 表示一個(gè) 10 字節(jié)寬的字段的參數(shù)

{0:<10} 表示一個(gè)左對(duì)齊的 10 字節(jié)寬的字段的參數(shù)

{0:>10} 表示一個(gè)右對(duì)齊的 10 字節(jié)寬的字段的參數(shù)

{0.platform} 讀取 sys 模塊的屬性

下面再舉一些例子

  >>> '{0:e},{1:.3e},{2:g}'.format (3.141592,3.141592,3.141592)  
  '3.141592e+00,3.142e+00,3.14159'  
  >>> '{0:f},{1:.2f},{2:06.2f}'.format (3.141592,3.141592,3.141592)  
  '3.141592,3.14,003.14'  
  >>>   

{0:e} 代表使用科學(xué)計(jì)數(shù)法來表示

{1:.3e} 只保留三位小數(shù)的科學(xué)計(jì)數(shù)法來表示

{2:g} 使用 g 來表示浮點(diǎn)數(shù)

{1:.2f} 保留兩位小數(shù)的浮點(diǎn)數(shù)

{2:06.2f} 六字節(jié)款的保留兩位小數(shù)不足寬度補(bǔ)零的字符串

除了上面的十進(jìn)制,還支持八進(jìn)制、十六進(jìn)制

  >>> '{0:X},{1:o},{2:b}'.format (255,255,255)  
  'FF,377,11111111'  
  >>> bin(255),int('11111111',2),0b11111111  
  ('0b11111111'255255)  

還支持在 format 里面嵌入表達(dá)式,動(dòng)態(tài)獲取

  >>> '{0:f},{1:.2f},{2:06.2f}'.format (1/3,1/3,1/3)  
  '0.333333,0.33,000.33'  
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)