Python中用format 格式化字串

2021-07-16 14:42:41 字數 1733 閱讀 8610

自python2.6開始,新增了一種格式化字串的函式str.format(),可謂威力十足。那麼,他跟之前的%型格式化字串相比,有什麼優越的存在呢?

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

in [1]: ','.format('zw',20) 

out[1]: 'zw,20'

in [2]: '{},{}'.format('zw',20)

out[2]: 'zw,20'

in [3]: ',,'.format('zw',20)

out[3]: '20,zw,20'

注意:

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

in [5]: ','.format(age=20,name='zw') 

out[5]: 'zw,20'

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('zw',20)) 

out[2]: 'this guy is zw,is 20 old'

in [7]: p=['zw',20]

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

out[8]: 'zw,20'

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

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

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

out[15]: ' qq'

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

out[16]: ' weibo'

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

out[17]: '00000189'

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

out[18]: 'aaaaa189'

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

out[44]: '321.33'

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函式格式化字串

自python2.6開始,新增了一種格式化字串的函式 str.format 可謂威力十足。那麼,他跟之前的 型格式化字串相比,有什麼優越的存在呢?讓我們來揭開它羞答答的面紗。語法 它通過 和 來代替 對映 示例通過位置 12345 6in 1 format kzc 18 out 1 kzc,18 i...

Python中用format函式格式化字串的用法

自python2.6開始,新增了一種格式化字串的函式str.format 可謂威力十足。那麼,他跟之前的 型格式化字串相比,有什麼優越的存在呢?讓我們來揭開它羞答答的面紗。語法 它通過 和 來代替 對映 示例 通過位置 in 1 format kzc 18 out 1 kzc,18 in 2 for...

Python 格式化字串與format格式化

號格式化 佔位符格式 描述 d 有符號的整數 s字串 c字元以及asicc碼 o無符號八進位制整數 x x 無符號十六進製制整數 x無符號十六進製制整數 e e 科學記數法 f浮點數 name t age 18print his name is s age is d.name,age print h...