python中格式化字串

2022-04-11 18:07:41 字數 2067 閱讀 6425

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

注意:字串的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'

通過關鍵字引數

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

out[5]: '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中格式化字串

1.c 以ascii碼的格式輸出 2.s 以字串的格式輸出 3.d 以整數的格式輸出 4.o 以無符號八進位制的格式輸出 5.x 以無符號十六進製制的格式輸出 6.x 以無符號十六進製制的格式輸出 大寫 7.f 以實數的格式輸出,可指定小數點後的精度 例 print 2f 變數 以保留2位小數的格式...

Python 字串格式化

字串格式化 s 格式化為字串 format hello,s.s enough for ya?values world hot print format values hello,world.hot enough for ya?f 格式化為實數 浮點數 format pi with three dec...

python字串格式化

字串的格式化 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...