python之字串格式化 format

2022-07-20 18:36:13 字數 2488 閱讀 7634

python之字串格式化(format)

用法:它通過{}和:來代替傳統%方式

1、使用位置引數

要點:從以下例子可以看出位置引數不受順序約束,且可以為{},只要format裡有相對應的引數值即可,引數索引從0開,

傳入位置引數列表可用*列表

>>> li = ['hoho',18]

>>> 'my name is {} ,age {}'.format('hoho',18)

'my name is hoho ,age 18'

>>> 'my name is ,age '.format(10,'hoho')

'my name is hoho ,age 10'

>>> 'my name is ,age '.format(10,'hoho')

'my name is hoho ,age 10 hoho'

>>> 'my name is {} ,age {}'.format(*li)

'my name is hoho ,age 18'

2、使用關鍵字引數

要點:關鍵字引數值要對得上,可用字典當關鍵字引數傳入值,字典前加**即可

>>> hash =

>>> 'my name is ,age is '.format(name='hoho',age=19)

'my name is hoho,age is 19'

>>> 'my name is ,age is '.format(**hash)

'my name is hoho,age is 18'

3、填充與格式化

:[填充字元][對齊方式 <^>][寬度]

>>> ''.format(10) ##右對齊

'********10'

>>> ''.format(10) ##左對齊

'10********'

>>> ''.format(10) ##居中對齊

'****10****'

4、精度與進製

>>> ''.format(1/3)

'0.33'

>>> ''.format(10) #二進位制

'1010'

>>> ''.format(10) #八進位制

'12'

>>> ''.format(10) #16進製制

'a'>>> ''.format(12369132698) #千分位格式化

'12,369,132,698'

5、使用索引

>>> li

['hoho', 18]

>>> 'name is age is '.format(li)

'name is hoho age is 18

小結:format函式,

其一:替換用法 是用format()括號中的引數來替換指定內容中的"{}"":"中的內容.

a.可以不指定引數,預設format引數從0開始

b.指定關鍵字,則按照指定的內容的值替換

c.可以直接用字典或者列表當關鍵字來傳值替換,其中列表前加乙個*號,字典前加兩個*號,相應按照順序傳值

其二:用於填充格式化 如''.format(9) ##右對齊 這種模式用法有三種,:[填充字元][對齊方式 <^>][寬度]

a.冒號後面接的是選用的填充字元,如上面用的是*號

b.<^> 指定三種不同的對齊方式,可簡單理解為看箭頭指向方向為對齊的方向

c.對齊方向後面是寬度,如上面的右對齊的寬度是10

d.指定的內容一定需要用"{}"括起來,而且必須是從0開始,或者可以把0去掉(此處待研究)

上面的顯示結果是:輸出9,按照10位寬度右對齊方式,也就是左邊用9位"*"代替 out:*********9

注意:寬度設定的是包括format中要展示的值一起的寬度,不足的寬度部分用指定的符號來替換

其三:精度與進製用法

a.精度用法時,一般用於float型別,如''.format(1/3) 控制輸出小數點後兩位的精度

b.進製用法,注意其中 b(bit)代表二進位制,o代表八進位制,x代表16進製制 ''.format(10) 將10按照八進位制顯示

c.千分位用法,固定方式 ''.format(指定內容或數值) #千分位格式化

其四:索引用法 可以劃到替換用法裡面

如:li = ['hoho', 18]

'name is age is '.format(li) 可以看出這裡有點不同的是,format()括號裡面的引數直接就

是列表(list),而且不像我們上面所講的傳列表的時候要用*號,因前面{}中的內容明確指定了 0[0],0[1]

此處一定只能從0開始,暫時未研究出1[0],1[1]怎麼表示(試過巢狀列表和元組都沒有用)

綜述:format用法,用乙個關鍵點,它用來針對'' " "字串裡面{}所指定的內容,在做填充和對齊的時候,還會根據:

和對齊規則來進行展示. 因此要記住format的用法兩個關鍵點

1.替換的是字串"" 中{}指定的內容

2.{}裡面可以設定規則

Python之字串格式化

有時候在實際開發當中,需要執行原生sql語句或者想列印某些帶變數引數的字串,那麼就需要對字串進行格式化處理!字串格式化的種類 1 加法拼接 name thomas data my name is name data my name is thomas 2 格式符方式 name thomas heig...

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中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...