format格式化輸出 字串對齊

2021-10-24 12:52:10 字數 4212 閱讀 4205

%o  ---

-oct 八進位制

%d ---

- dec 十進位制

%x ---

-hex 十六進製制

示例

print

('%o'%20

)---

-24print

('%d'%20

)---

-20print

('%x'%20

)---

-20

(1) 格式化輸出

%f  		---

-預設保留小數點後面六位有效數字%.

3f---

-保留3位小數字

%e ---

-預設保留小數點後面六位有效數字,指數形式輸出%.

3e---

-保留3位小數字,使用科學計數法

%g ---

-在保證劉偉有效數字的前提下,使用小數方式,否則使用科學計數法

%.3g ---

-保留3位小數字,使用小數或科學計數法

示例

print

('%f'

%1.11

)# 預設保留6位小數

>>

>

1.110000

print

('%.1f'

%1.11

)# 取1位小數

>>

>

1.1print

('%e'

%1.11

)# 預設6位小數,用科學計數法

>>

>

1.110000e+00

print

('%.3e'

%1.11

)# 取3位小數,用科學計數法

>>

>

1.110e+00

print

('%g'

%1111.1111

)# 預設6位有效數字

>>

>

1111.11

print

('%.7g'

%1111.1111

)# 取7位有效數字

>>

>

1111.111

print

('%.2g'

%1111.1111

)# 取2位有效數字,自動轉換為科學計數法

>>

>

1.1e+03

%s

%10s——右對齊,佔位符10位

%-10s——左對齊,佔位符10位

%.2s——擷取2位字串

%10.2s——10位佔位符,擷取兩位字串

示例

print

('%s'

%'hello world'

)# 字串輸出

>>

> hello world

print

('%20s'

%'hello world'

)# 右對齊,取20位,不夠則補位

>>

> hello world

print

('%-20s'

%'hello world'

)# 左對齊,取20位,不夠則補位

>>

> hello world

print

('%.2s'

%'hello world'

)# 取2位

>>

>he

print

('%10.2s'

%'hello world'

)# 右對齊,取2位

>>

> he

print

('%-10.2s'

%'hello world'

)# 左對齊,取2位

>>

> he

相對基本格式化輸出採用『%』的方法,format()功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號『{}』作為特殊字元代替『%』

位置匹配

(1)不帶編號,即「{}」

(2)帶數字編號,可調換順序,即「」、「」

(3)帶關鍵字,即「」、「」

示例

1

.print

('{} {}'

.format

('hello'

,'world'))

# 不帶字段

hello world2.

print

(' '

.format

('hello'

,'world'))

# 帶數字編號

hello world3.

print

(' '

.format

('hello'

,'world'))

# 打亂順序

hello world hello4.

print

(' '

.format

('hello'

,'world'))

world world hello5.

print

(' '

.format

(tom=

'hello'

,a='world'))

# 帶關鍵字

world hello world

(1)< (預設)左對齊、> 右對齊、^ 中間對齊、= (只用於數字)在小數點後進行補齊

(2)取位數「」、""等]

示例1

1

.print

('{} and {}'

.format

('hello'

,'world'))

# 預設左對齊

hello and world2.

print

(' and '

.format

('hello'

,'world'))

# 取10位左對齊,取10位右對齊

hello and world3.

print

(' and '

.format

('hello'

,'world'))

# 取10位中間對齊

hello and world 4.

print

('{} is '

.format

(1.123

,1.123))

# 取2位小數

1.123

is1.125.

print

(' is '

.format

(1.123))

# 取2位小數,右對齊,取10位

1.123

is1.12

示例2

1.''

.format

('left aligned'

)# 左對齊

'left aligned '2.

''.format

('right aligned'

)# 右對齊

' right aligned'3.

''.format

('centered'

)# 中間對齊

' centered '4.

''.format

('centered'

)# 使用「*」填充

'***********centered***********'5.

''.format(11

)# 還有「=」只能應用於數字,這種方法可用「>」代替

'000000000000000000000000000011'

格式化輸出字串 sprintf

sprintf 跟printf 用法很相似,列印目的地不同。前者 sprintf 是列印到字串中,後者 printf 直接在命令列上輸出。sprintf 是個變參函式,作用是格式化字串。int sprintf char buffer,const char format argument format...

字串格式化 format

tp1 i am age format seven 18,alex print tp1 fill align sign0,type 空格 正號空格,負號加負 可選 為數字新增分隔符,如 1,000,000 width 可選 格式化位所佔寬度 precision 可選 小數字保留精度 type 可選 ...

format 格式化字串

1.format 格式化字串 1 順序傳參 2 索引傳參 3 關鍵字傳參 4 容器型別傳參 代表的是佔位符2.順序傳參 strvar 向 開了一槍 res strvar.format 光頭強 熊二 print res 3.索引傳參 strvar 給乙個平底鍋 res strvar.format 灰太...