當前位置:成語大全網 - 書法字典 - 為什麽Python中的格式有時高亮,有時不高亮?

為什麽Python中的格式有時高亮,有時不高亮?

Format是python2.6中壹種新的格式化字符串的方法,與舊版本的% format方法相比有很多優點。

1.不管數據類型如何,%s只能替換% method中的字符串類型。

2.單個參數可以輸出多次,參數的順序可以不同。

3.填充方式非常靈活,對齊方式非常強大。

4.官方推薦的方法% method將在以後的版本中被淘汰。

格式的壹個例子

打印“妳好{0}”。格式(“世界”)

將輸出hello world。

格式格式

替換字段::= " { "[字段名稱] ["!"轉換] [":" format_spec] "} "

字段名稱::=參數名稱("."attribute _ name | "[" element _ index "]")*

arg _ name::=[標識符|整數]

屬性名稱::=標識符

元素索引::=整數|索引字符串

index _ string::= & lt;除“]”以外的任何源字符& gt+

轉換::= "r" | "s" | "a "

格式規格::= & lt在下壹節中描述& gt

格式_規格格式

format _ spec::=[[fill]align][sign][#][0][width][,][。精度][類型]

填充::= & lt任何字符& gt

align::= " & lt;| " >| "=" | "^"

符號::="+" | "-" | " "

寬度::=整數

精度::=整數

類型::= " b " | " c " | " d " | " E " | " E " | " F " | " F " | " G " | " G " | " n " | " o " | " s " | " X " | " X " | " "

應用:

壹次填充

1.按位置填充字符串

打印“妳好{0}我是{1}”。格式('凱文','湯姆')#

妳好,凱文,我是湯姆

打印“妳好{}我是{}”。格式('凱文','湯姆')#

妳好,凱文,我是湯姆

打印“妳好{0}我是{1}”。我的

名稱為{0}。格式('凱文','湯姆')#妳好凱文我是湯姆。

我的名字是凱文

Foramt將按位置順序將參數填入字符串。第壹個參數是0,然後是1...

不用輸入數字,數字也會按順序填寫。

同壹個參數可以填充多次,這是format比%更高級的地方。

2.按鍵填充

打印“妳好{name1}我是{name2}”。format(name1='Kevin ',name2='Tom') #妳好,Kevin,我是Tom

3.按下標填充

names=['凱文','湯姆']

打印“妳好{names[0]}我是

{names[1]} '。格式(名稱=名稱)#

妳好,凱文,我是湯姆

打印“妳好{0[0]}我是{0[1]}”。格式(姓名)#

妳好,凱文,我是湯姆

4.通過字典鍵

names={'name':'Kevin ',' name2':'Tom'}

打印“妳好{names[name]}我是{names[name2]}”。format(names=names) #妳好,凱文,我是湯姆

註意訪問字典的鍵,不帶引號

5.通過對象的屬性

類名():

name1= '凱文'

名字2= '湯姆'

打印“妳好{names.name1} i

am {names.name2}”。格式(名稱=名稱)#

妳好,凱文,我是湯姆

使用神奇參數

args=['lu']

kwargs = {'name1': 'Kevin ',' name2': 'Tom'}

打印“妳好{name1} {}我是{name2}”。format(*args,**kwargs) #妳好,Kevin,我是Tom

兩種格式轉換

b、D、O和X分別是二進制、十進制、八進制和十六進制。

數字格式輸出描述

3.1415926 {:. 2f } 3.14保留兩位小數。

3.1415926 {:+. 2f } 3.14帶符號,保留兩位小數。

-1 {:+.2f} -1帶符號,保留兩位小數。

2.71828 {:.0f} 3不帶小數

1000000 {:} 1,000,000逗號分隔的數字格式

0.25 {:.2%} 25.00%百分比格式

10000000 {:. 2e } 1.00 e+09指數記數法

25 {0:b} 11001轉換為二進制

25 {0:d} 25轉換為十進制

25 {0:o} 31轉換為八進制。

25 {0:x} 19轉換為十六進制

三對齊和填充

數字格式輸出描述

5 {:0 & gt;2} 05位零填充(左填充,寬度2)

5 {:x & lt;4} 5xxx數字補數x(填充右側,寬度為4)

10 {:x 4} x10x數字補碼x(填充右側,寬度為4)。

13 {:10} 13右對齊(默認寬度為10)。

13 {:& lt;10} 13左對齊(寬度為10)

13 {:10} 13中間對齊(寬度10)

其他四個

1.轉義{和}符號

打印“{妳好{0} }}”。格式(“凱文”)

像% in%中的%% escaping%壹樣,formate是用兩個大括號轉義的。

2 .作為函數的格式

f = '您好{0}我是{1} '。格式

打印f('凱文','湯姆')

步驟3格式化日期時間

now=datetime.now()

打印“{:%Y-%m-%d %X}”。格式(現在)

4.{}嵌入{}

打印“妳好{ 0:& gt;{1}} '.格式(“凱文”,50)

5.感嘆號的用法

!可以在後面加s r a分別對應str() repr() ascii()。

函數是在填充之前使用相應的函數來處理參數。

打印" {!s}”。格式(' 2') #

2

打印" {!r}”。格式(' 2') # '2 '

區別在於repr有引號,str()是面向用戶的為了可讀性,repr()是面向python解析器的,返回值代表python內部的意思。

Ascii()不斷報告錯誤。可能這個功能只有3.0才有。