pythonformat格式字串

2021-09-02 05:17:10 字數 1799 閱讀 8486

語法: 它通過{}和:來代替%。

注意: 字串的format函式可以接受無限個引數,位置可以不按順序,可以不用或者用多次,不過2.6不能為空{},2.7才可以。

通過位置

in [1]: ','.format('kzc',18)

out[1]: 'kzc,18'

in [2]: '{},{}'.format('kzc',18)

out[2]: 'kzc,18'

in [3]: ',,'.format('kzc',18)

out[3]: '18,kzc,18'

通過物件屬性

class person:

def __init__(self,name,age):

self.name,self.age = name,age

def __str__(self):

return 'this guy is ,is old'.format(self=self)

in [2]: str(person('kzc',18))

out[2]: 'this guy is kzc,is 18 old'

通過下標

in [7]: p=['kzc',18]

in [8]: ','.format(p)

out[8]: 'kzc,18'

有了這些便捷的「對映」方式,我們就有了偷懶利器。基本的python知識告訴我們,list和tuple可以通過「打散」成普通引數給函式,而dict可以打散成關鍵字引數給函式(通過和*)。所以可以輕鬆的傳個list/tuple/dict給format函式。非常靈活

格式限定符號

它有著豐富的「格式限定符」(語法是花括號{}帶冒號:),如:

填充與對齊: 填充常跟對齊一起使用

居中 = ^

左對齊 = <

右對齊 = >

後面帶寬度 = :號後面帶填充的字元,只能是乙個字元,不指定的話預設是用空格填充,如下:

in [15]: ''.format('189')

out[15]: ' 189'

in [16]: ''.format('189')

out[16]: '00000189'

in [17]: ''.format('189')

out[17]: 'aaaaa189'

精度與型別f: 精度常跟型別f一起使用

in [44]: ''.format(321.33345)

out[44]: '321.33'

其中.2表示長度為2的精度,f表示float型別。

其他型別: 主要就是進製了,b、d、o、x分別是二進位制、十進位制、八進位制、十六進製制。

in [54]: ''.format(17)

out[54]: '10001'

in [55]: ''.format(17)

out[55]: '17'

in [56]: ''.format(17)

out[56]: '21'

in [57]: ''.format(17)

out[57]: '11'

逗號,還能用來做金額的千位分隔符:

in [47]: ''.format(1234567890)

out[47]: '1,234,567,890'

百分比:

百分比格式

python format格式輸出

內容摘自 相對基本格式化輸出採用 的方法,format 功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號 作為特殊字元代替 1 不帶編號,即 2 帶數字編號,可調換順序,即 3 帶關鍵字,即 1 print format hello world 不帶字段 2 hello...

Python format 格式化函式

數字 格式輸出 描述3.1415926 3.14 保留小數點後兩位 3.1415926 3.14 帶符號保留小數點後兩位 1 1.00 帶符號保留小數點後兩位 2.71828 3不帶小數505 數字補零 填充左邊,寬度為2 55 數字補x 填充右邊,寬度為4 1010xx 數字補x 填充右邊,寬度為...

Python format 格式化函式

python2.6 開始,新增了一種格式化字串的函式 str.format 它增強了字串格式化的功能。基本語法是通過 和 來代替以前的 format 函式可以接受不限個引數,位置可以不按順序。不設定指定位置,按預設順序 print format hello world 設定指定位置 print fo...