使用 format 對字串進行格式(二)

2021-10-04 11:46:44 字數 4627 閱讀 8040

.format

()

format_spec     ::=

[[fill]align]

[sign]

[#][0][width][grouping_option][.precision][type]

fill ::=

<

any character>

align ::=

"<"

|">"

|"="

|"^"

sign ::=

"+"|

"-"|

" " width :

:= digit+

grouping_option ::=

"_"|

"," precision :

:= digit+

type::

="b"

|"c"

|"d"

|"e"

|"e"

|"f"

|"f"

|"g"

|"g"

|"n"

|"o"

|"s"

|"x"

|"x"

|"%"

1、align 選項中各種形式的含義:選項

含義<

強制欄位在可用空間內左對齊(這是大多數物件的預設設定)。

>

強制欄位在可用空間內右對齊(這是數字的預設值)。

=強制將填充置於符號(如果有)之後數字之前。如「 +000000120」。

僅對數字型別有效。當欄位寬度緊前面為「 0」時,它將成為預設值。

^強制欄位在可用空間內居中。

注意,除非定義了最小字段寬度,否則字段寬度將始終與要填充的資料大小相同,因此在這種情況下,對齊選項沒有任何意義。

2、sign 選項僅適用於數字型別,可以是下列情況之一:選項

含義+表示正負數均應使用符號。

-表示符號只能用於負數(這是預設行為)。

空格表示在正數上使用前導空格,在負數上使用減號

3、『#』 選項:可以實現資料間的形式轉換。

替代形式針對不同型別的定義不同。此選項僅對整數,浮點數,複數和小數型別有效。對於整數,當二進位制,使用八進位制或十六進製制輸出,該選項新增字首相應』0b』,'0o』或 『0x』該輸出值。對於浮點數,複數和小數,備用格式會使轉換結果始終包含小數點字元,即使後面沒有數字也是如此。通常,只有在數字後面跟隨小數點字元,這些轉換的結果才會出現。此外,對於』g』和』g』 轉換,尾隨零不會從結果中刪除。

4、width是乙個十進位制整數,定義了最小總欄位寬度,包括任何字首,分隔符和其他格式字元。如果未指定,則字段寬度將由內容確定。

如果未給出明確的對齊方式,則在寬度字段前面加上零(『0』)字元可啟用數字型別的符號感知零填充。這等同於乙個填充的字元』0』與對齊的型別』=』。

5、『_』 選項:表示對浮點型別和整數型別』d』的千位分隔符使用下劃線。

對於整數呈現型別』b』, 『o』,『x』,和』x』,下劃線將每4位插入。對於其他演示文稿型別,指定此選項是錯誤的。

6、『,』 選項:表示千位分隔符使用逗號。

7、precision 精度:指示多少位數的小數點格式化與浮點值之後顯示的十進位制數 『f』和』f』,或之前和小數點用於與格式化的浮點值之後』g』或』g』。對於非數字型別,該欄位指示最大字段大小。換句話說,將從字段內容中使用多少個字元。整數值不允許使用精度。

8、type 型別:確定應如何顯示資料。

對齊文字並指定寬度:

>>

>''.

format

('left aligned'

)'left aligned '

>>

>''.

format

('right aligned'

)' right aligned'

>>

>''.

format

('centered'

)' centered '

>>

>''.

format

('centered'

)# use '*' as a fill char

'***********centered***********'

正負號標誌的使用:

>>

>

'; '

.format

(3.14,-

3.14

)# 使用 +:正負數前均有符號

'+3.140000; -3.140000'

>>

>

'; '

.format

(3.14,-

3.14

)# 使用 空格:正數前使用空格,負數前為負號

' 3.140000; -3.140000'

>>

>

'; '

.format

(3.14,-

3.14

)# 使用 -:只有負數前有符號

'3.140000; -3.140000'

使用 逗號、下劃線 作為千位分隔符:

>>

>''.

format

(1234567890

)'1,234,567,890'

>>

>''.

format

(1234567890

)'1_234_567_890'

表達百分比:

>>

> points =

19>>

> total =

22>>

>

'correct answers: '

.format

(points/total)

'correct answers: 86.36%'

使用特定於型別的格式:

>>

>

import datetime

>>

> d = datetime.datetime(

2010,7

,4,12

,15,58

)>>

>''.

format

(d)'2010-07-04 12:15:58'

巢狀引數和更複雜的示例:

"""下一條語句不要在 python console 中使用 ipython 進行測試,但可以在 cmd 中使用 ipython 執行"""

>>

>

for align, text in

zip(

'<^>',[

'left'

,'center'

,'right'])

:...

'16}'

.format

(text, fill=align, align=align)

# 用 align 的值填充;對齊方式為:align 的值;寬度為16..

.'left<<<<<<<<<<<<'

'^^^^^center^^^^^'

'>>>>>>>>>>>right'

>>

> octets =

[192

,168,0

,1]>>

>''.

format

(*octets)

'c0a80001'

>>

> width =

5>>

>

for num in

range(5

,12):

...for base in

'dxob':.

..print

('}'

.format

(num, base=base, width=width)

, end=

' ')..

.print()

...5

55101666

110777

1118810

100099

111001

10 a 12

1010

11 b 13

1011

使用 {}.format 對字串進行格式(一)

使用Hashtable對字串進行碰撞

1.在一些字串陣列中,常會有重複的記錄,比如手機號碼,我們可以通過hashtable來對其進行過濾 public string checkarray string str return str new 示例 string mobile mobile checkarray mobile for int...

使用jmeter對字串進行加密

之前介紹過如何利用jmeter函式助手構造時間戳引數,本次再來研究下另乙個功能 對字串進行加密 下面通過乙個例子來演示一下如何對請求引數進行md5加密 介面文件如下 一些說明 1 簽名是為了保證呼叫安全,使用md5演算法生成的一段字串,生成的簽名長度為 32位,簽名中的英文本元均為小寫格式 2 為保...

與 format 進行字串格式化

python的字串格式化有兩種方式 百分號方式 format方式 1 百分號方式 name flags width precision typecode width 可選,占有寬度 precision 可選,小數點後保留的位數 typecode 必選 常用格式 tpl i am s alex tpl...