Python中用format函式格式化字串

2021-08-14 20:46:34 字數 2357 閱讀 5977



自python2.6開始,新增了一種格式化字串的函式

str.format()

,可謂威力十足。那麼,他跟之前的

%型格式化字串相比,有什麼優越的存在呢?讓我們來揭開它羞答答的面紗。

語法

它通過{}和

:來代替%。

「對映」

示例通過位置

?

12345

6in [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'

字串的format函式可以接受不限個引數,位置可以不按順序,可以不用或者用多次,不過

2.6不能為空{},

2.7才可以。

通過關鍵字引數

?

12in [5]: ','.format(age=18,name='kzc')

out[5]: 'kzc,18'

通過物件屬性

?

12345

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) ?

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

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

通過下標

?

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

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

out[8]: 'kzc,18'

有了這些便捷的「對映

」方式,我們就有了偷懶利器。基本的

python

知識告訴我們,

list

和tuple

可以通過「打散

」成普通引數給函式,而

dict

可以打散成關鍵字引數給函式(通過和

*)。所以可以輕鬆的傳個

list/tuple/dict

給format

函式。非常靈活。

格式限定符

它有著豐富的的「格式限定符

」(語法是

{}中帶

:號),比如:

填充與對齊

填充常跟對齊一起使用

^、<

、>

分別是居中、左對齊、右對齊,後面帶寬度

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

12345

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

out[15]: '   189'

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

out[16]: '00000189'

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

out[17]: 'aaaaa189'

精度與型別f

精度常跟型別f一起使用?

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

out[44]: '321.33'

其中.2表示長度為

2的精度,f表示

float

型別。其他型別

主要就是進製了,b、d、

o、x分別是二進位制、十進位制、八進位制、十六進製制。?

1234

5678

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'

用,號還能用來做金額的千位分隔符。?

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

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

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

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

Python中用format 格式化字串

自python2.6開始,新增了一種格式化字串的函式str.format 可謂威力十足。那麼,他跟之前的 型格式化字串相比,有什麼優越的存在呢?它通過 和 來代替 in 1 format zw 20 out 1 zw,20 in 2 format zw 20 out 2 zw,20 in 3 for...

Oracle中用rownum替代Top函式的方法

今天寫乙個方法,主要功能是從資料庫中根據條件查出第一條資訊。以前用sql server的時候,我記得top方法還是非常簡單實用的。方法是 select top n 列名 from 表名 where 查詢條件 這個方法想必像我這樣的新人也會非常熟悉,所以就不做解釋了。今天用的資料庫是oracle。其使...