欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Python培訓(xùn)簡述Python多樣化輸出字符串--字符串格式化

2019-05-14 11:25:41 3349瀏覽

Python字符串的格式化有兩種方式:一種是%格式符方式,一種是format方式。本篇文章扣丁學(xué)堂Python培訓(xùn)小編給讀者們分享一下Python多樣化輸出字符串--字符串格式化,感興趣的小伙伴就隨小編來了解一下吧。


扣丁學(xué)堂Python培訓(xùn)簡述Python多樣化輸出字符串--字符串格式化



%格式符

%(name)[width].[precision]typecode

(name)可選,用于選擇指定的key

flags可選,可供選擇的值有:

+右對齊;正數(shù)前加正好,負(fù)數(shù)前加負(fù)號;

-左對齊;正數(shù)前無符號,負(fù)數(shù)前加負(fù)號;

空格右對齊;正數(shù)前加空格,負(fù)數(shù)前加負(fù)號;

0右對齊;正數(shù)前無符號,負(fù)數(shù)前加負(fù)號;用0填充空白處

width可選,占有寬度

.precision可選,小數(shù)點(diǎn)后保留的位數(shù)

typecode必選

s,獲取傳入對象的str方法的返回值,并將其格式化到指定位置

r,獲取傳入對象的repr方法的返回值,并將其格式化到指定位置

c,整數(shù):將數(shù)字轉(zhuǎn)換成其unicode對應(yīng)的值,10進(jìn)制范圍為0<=i<=1114111(py27則只支持0-255);字符:將字符添加到指定位置

o,將整數(shù)轉(zhuǎn)換成八進(jìn)制表示,并將其格式化到指定位置

x,將整數(shù)轉(zhuǎn)換成十六進(jìn)制表示,并將其格式化到指定位置

d,將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成十進(jìn)制表示,并將其格式化到指定位置

e,將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成科學(xué)計(jì)數(shù)法,并將其格式化到指定位置(小寫e)

E,將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成科學(xué)計(jì)數(shù)法,并將其格式化到指定位置(大寫E)

f,將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù)表示,并將其格式化到指定位置(默認(rèn)保留小數(shù)點(diǎn)后6位)

F,同上

g,自動調(diào)整將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成浮點(diǎn)型或科學(xué)計(jì)數(shù)法表示(超過6位數(shù)用科學(xué)計(jì)數(shù)法),并將其格式化到指定位置(如果是科學(xué)計(jì)數(shù)則是e;)

G,自動調(diào)整將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成浮點(diǎn)型或科學(xué)計(jì)數(shù)法表示(超過6位數(shù)用科學(xué)計(jì)數(shù)法),并將其格式化到指定位置(如果是科學(xué)計(jì)數(shù)則是E;)

%,當(dāng)字符串中存在格式化標(biāo)志時(shí),需要用%%表示一個(gè)百分號

注:Python中百分號格式化是不存在自動將整數(shù)轉(zhuǎn)換成二進(jìn)制表示的方式

(name)可選,用于選擇指定的key



>>> "%(name)s-----%(age)d "%{'name':'xx','age':20}
'xx-----20'


flags可選,可供選擇的值有:

+右對齊;正數(shù)前加正好,負(fù)數(shù)前加負(fù)號;

-左對齊;正數(shù)前無符號,負(fù)數(shù)前加負(fù)號;

空格右對齊;正數(shù)前加空格,負(fù)數(shù)前加負(fù)號;

0右對齊;正數(shù)前無符號,負(fù)數(shù)前加負(fù)號;用0填充空白處

width可選,占有寬度

name占10位,+,右對齊,age占10位,-,左對齊


>>> "%(name)+10s————————%(age)-10d————————"%{'name':'xx','age':20}
'        xx————————20        ————————'


空格,右對齊

0,用0填充空白處


>>> "------%d******%02d "%(2018,0)
'------2018******00' 


.precision可選,小數(shù)點(diǎn)后保留的位數(shù)

只保留兩位小數(shù)


>>> '--------%(p).2f'%{'p':1.23456}
'--------1.23'
>>> '--------%(p)f'%{'p':1.23456}
'--------1.234560'


typecode必選

c,整數(shù):將數(shù)字轉(zhuǎn)換成其unicode對應(yīng)的值,10進(jìn)制范圍為0<=i<=1114111(py27則只支持0-255);字符:將字符添加到指定位置

o,將整數(shù)轉(zhuǎn)換成八進(jìn)制表示,并將其格式化到指定位置

x,將整數(shù)轉(zhuǎn)換成十六進(jìn)制表示,并將其格式化到指定位置


>>> '***%c***%o***%x'%(65,15,15)
'***A***17***f'


e,將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成科學(xué)計(jì)數(shù)法,并將其格式化到指定位置(小寫e)

E,將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成科學(xué)計(jì)數(shù)法,并將其格式化到指定位置(大寫E)


>>> '-----%(num)e------%(num)E'%{'num':1000000000}
'-----1.000000e+09------1.000000E+09'


g,自動調(diào)整將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成浮點(diǎn)型或科學(xué)計(jì)數(shù)法表示(超過6位數(shù)用科學(xué)計(jì)數(shù)法),并將其格式化到指定位置(如果是科學(xué)計(jì)數(shù)則是e;)

G,自動調(diào)整將整數(shù)、浮點(diǎn)數(shù)轉(zhuǎn)換成浮點(diǎn)型或科學(xué)計(jì)數(shù)法表示(超過6位數(shù)用科學(xué)計(jì)數(shù)法),并將其格式化到指定位置(如果是科學(xué)計(jì)數(shù)則是E;)



>>> '-----%(num)g------%(num1)G'%{'num':1000000000,'num1':100}
'-----1e+09------100'


%,當(dāng)字符串中存在格式化標(biāo)志時(shí),需要用%%表示一個(gè)百分號(類似于轉(zhuǎn)意效果)



>>> 'aaa %'
'aaa %''
>>> 'aaa %s %%'%('bbb')
'aaa bbb %' 


注:如果忽略name,那么%格式符后面,可以使用(),有幾個(gè)%占位符,后面就跟幾個(gè)變量或者值,順序要對應(yīng)好。如果只有一個(gè)%,括號可以省略。

舉例:


>>> print('%d-%02d-%02d %02d:%02d:%02d'%(2018,6,5,16,20,0))
2018-06-05 16:20:00
>>> print('---%s---'%'yes')
---yes---


format方式

[fill]align#width.precision

fill【可選】空白處填充的字符

align【可選】對齊方式(需配合width使用)

<,內(nèi)容左對齊

>,內(nèi)容右對齊(默認(rèn))

=,內(nèi)容右對齊,將符號放置在填充字符的左側(cè),且只對數(shù)字類型有效。即使:符號+填充物+數(shù)字

^,內(nèi)容居中

sign【可選】有無符號數(shù)字

+,正號加正,負(fù)號加負(fù);

**-,正號不變,負(fù)號加負(fù);**

空格,正號空格,負(fù)號加負(fù);

#【可選】對于二進(jìn)制、八進(jìn)制、十六進(jìn)制,如果加上#,會顯示0b/0o/0x,否則不顯示

,【可選】為數(shù)字添加分隔符,如:1,000,000

width【可選】格式化位所占寬度

.precision【可選】小數(shù)位保留精度

type【可選】格式化類型

傳入”字符串類型“的參數(shù)s,格式化字符串類型數(shù)據(jù)空白,未指定類型,則默認(rèn)是None,同s

傳入“整數(shù)類型”的參數(shù)b,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成2進(jìn)制表示然后格式化c,將10進(jìn)制整數(shù)自動轉(zhuǎn)換為其對應(yīng)的unicode字符d,十進(jìn)制整數(shù)o,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成8進(jìn)制表示然后格式化;x,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成16進(jìn)制表示然后格式化(小寫x)X,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成16進(jìn)制表示然后格式化(大寫X)

傳入“浮點(diǎn)型或小數(shù)類型”的參數(shù)e,轉(zhuǎn)換為科學(xué)計(jì)數(shù)法(小寫e)表示,然后格式化;E,轉(zhuǎn)換為科學(xué)計(jì)數(shù)法(大寫E)表示,然后格式化;f,轉(zhuǎn)換為浮點(diǎn)型(默認(rèn)小數(shù)點(diǎn)后保留6位)表示,然后格式化;F,轉(zhuǎn)換為浮點(diǎn)型(默認(rèn)小數(shù)點(diǎn)后保留6位)表示,然后格式化;g,自動在e和f中切換G,自動在E和F中切換**%,顯示百分比(默認(rèn)顯示小數(shù)點(diǎn)后6位)

fill【可選】空白處填充的字符

align【可選】對齊方式(需配合width使用)

<,內(nèi)容左對齊

>,內(nèi)容右對齊(默認(rèn))

=,內(nèi)容右對齊,將符號放置在填充字符的左側(cè),且只對數(shù)字類型有效。即使:符號+填充物+數(shù)字

^,內(nèi)容居中

width【可選】格式化位所占寬度


>>> '---{:*^20s}----'.format('welcome')
'---******welcome*******----'
>>> '---{:*>20s}----'.format('welcome')
'---*************welcome----'
>>> '---{:*<20s}----'.format('welcome')
'---welcome*************----'


#【可選】對于二進(jìn)制、八進(jìn)制、十六進(jìn)制,如果加上#,會顯示0b/0o/0x,否則不顯示

b,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成2進(jìn)制表示然后格式化

c,將10進(jìn)制整數(shù)自動轉(zhuǎn)換為其對應(yīng)的unicode字符

d,十進(jìn)制整數(shù)

o,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成8進(jìn)制表示然后格式化;

x,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成16進(jìn)制表示然后格式化(小寫x)

X,將10進(jìn)制整數(shù)自動轉(zhuǎn)換成16進(jìn)制表示然后格式化(大寫X)

三種方法表示


>>> "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{:c}".format(15, 15, 15, 15, 15, 15.87623,65)
'numbers: 1111,17,15,f,F, 1587.623000%,A'
>>> "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%},{1:c}".format(15,65)
'numbers: 1111,17,15,f,F, 1500.000000%,A'
>>> "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%},{cc:c}".format(num=15,cc=65)
'numbers: 1111,17,15,f,F, 1500.000000%,A'


,【可選】為數(shù)字添加分隔符,如:1,000,000

.precision【可選】小數(shù)位保留精度


>>> '---{:,d}----'.format(10000000)
'---10,000,000----'
>>> '---{:.2f}----'.format(1.2345)
'---1.23----'


format常用格式化



>>> "i am {}, age {}, {}".format("seven", 18, 'alex')
'i am seven, age 18, alex'
>>> "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
'i am seven, age 18, alex'
>>> "i am {0}, age {1}, really {0}".format("seven", 18)
'i am seven, age 18, really seven'
>>> "i am {0}, age {1}, really {0}".format(*["seven", 18])
'i am seven, age 18, really seven'
>>> "i am {name}, age {age}, really {name}".format(name="seven", age=18)
'i am seven, age 18, really seven'
>>> "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18})
'i am seven, age 18, really seven'
>>> "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33])
'i am 1, age 2, really 3'
>>> "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1)
'i am seven, age 18, money 88888.100000'
>>> "i am {:s}, age {:d}".format(*["seven", 18])
'i am seven, age 18'
>>> "i am {name:s}, age {age:d}".format(name="seven", age=18)
'i am seven, age 18'
>>> "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18})
'i am seven, age 18'



最后想要了解更多關(guān)于Python和人工智能方面內(nèi)容的小伙伴,請關(guān)注扣丁學(xué)堂Python培訓(xùn)官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的Python開發(fā)環(huán)境搭建視頻,Python培訓(xùn)后的前景無限,行業(yè)薪資和未來的發(fā)展會越來越好的,扣丁學(xué)堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開發(fā)實(shí)戰(zhàn)技能。扣丁學(xué)堂Python技術(shù)交流群:279521237。


扣丁學(xué)堂微信公眾號                          Python全棧開發(fā)爬蟲人工智能機(jī)器學(xué)習(xí)數(shù)據(jù)分析免費(fèi)公開課直播間


      【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】         【掃碼進(jìn)入Python全棧開發(fā)免費(fèi)公開課】



查看更多關(guān)于"Python開發(fā)資訊"的相關(guān)文章>

標(biāo)簽: Python培訓(xùn) Python視頻教程 Python在線視頻 Python學(xué)習(xí)視頻 Python培訓(xùn)班

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部