Python 格式化輸出

1.%操作符

%操作可以實(shí)現(xiàn)字符串格式化

>>>print("%o" % 10)

12

>>>print("%d" % 10)

10

>>>print("%f" % 10)

10.000000

浮點(diǎn)數(shù)輸出

>>>print("%f" % 3.1415926)?

3.141593 ? ? ?#?%f默認(rèn)保留小數(shù)點(diǎn)后面6為有效數(shù)字

>>>print("%.2f" % 10) ? ? ?#?%.2f保留2位小數(shù)

10.00

>>>print("%.2f" % 3.1415926) ? ? ?#?%.2f保留2位小數(shù)

3.14


'''

#同時(shí)也可以靈活的利用內(nèi)置函數(shù)round(),其函數(shù)形式為:

round(number, ndigits)

number:為一個(gè)數(shù)字表達(dá)式

ndigits:表示從小數(shù)點(diǎn)到最后四舍五入的位數(shù),默認(rèn)數(shù)值為0;

'''

>>>print(round(3.1415926,2)) ?

3.14


2.format 格式化字符串

format 是Python 2.6版本中新增的一個(gè)格式化字符串的方法帅霜,相對(duì)于老版的%格式方法绿贞,它有很多優(yōu)點(diǎn),也是官方推薦使用的方式鲤妥,%方式會(huì)被后面的版本淘汰。該函數(shù)把字符串當(dāng)成一個(gè)模板,通過傳入的參數(shù)進(jìn)行格式化王财,并且使用大括號(hào){}作為特殊字符待提%。

1)通過位置來(lái)填充

通過位置來(lái)填充裕便,format會(huì)把參數(shù)按位置順序來(lái)填充到字符串中绒净,第一個(gè)參數(shù)是0,然后是1不帶編號(hào)偿衰,即{}挂疆,通過默認(rèn)位置來(lái)填充字符串

>>>print('{} {}'.format('hello', 'world'))

hello world

>>>print('{0} {0} {1}'.format('hello', 'world'))

hello hello world ? ? ?#同一個(gè)參數(shù)可以填充多次,這是比%先進(jìn)的地方

2)通過索引

str = 'hello'

list = ['hello',?'world']

tuple = ('hello',?'world')

>>>print("{0[1]}".format(str)) ? ?#0代表第一個(gè)參數(shù)str

e

>>>print("{0[0]}, {0[1]}".format(list) ? ?#0代表第一個(gè)參數(shù)list

hello, world

>>>print("{0[0]}, {0[1]}".format(tuple)

hello, world

>>>print("{p[1]}".format(p=str))

e

>>>print("{p[0]}, {p[1]}".format(p=list))

hello, world

>>>print("{p[0]},{p[1]}".format(p=tuple))

hello, world

3)通過字典的key

在Python中字典的使用頻率非常之高下翎,其經(jīng)常由JSON類型轉(zhuǎn)化得到缤言。同時(shí)隨著人工智能的發(fā)展,越來(lái)越多的數(shù)據(jù)需要字典類型的支持视事,比如MongoDB數(shù)據(jù)的形式就可以看成一種字典類型胆萧,還有推薦算法中的圖算法也經(jīng)常應(yīng)用key-value形式來(lái)描述數(shù)據(jù)。

Tom = {'age': 27, 'gender': 'M'}

>>>print("{0['age']}".format(Tom))

27

>>>print("{p['gender']}".format(p=Tom))

M

4)通過對(duì)象的屬性

format還可以通過對(duì)象的屬性進(jìn)行輸出操作

輸入:

Class Person:

? ? def __init__(self, name, age):

? ? ????self.name = name

? ? ? ? self.age = age

? ? def __str__(self):

? ? ? ? return '{self.name} is {self.age} years old'.format(self=self)

print(Person('Tom', 18)

輸出:

Tom is 18 years old

5)字符串對(duì)齊并且指定對(duì)齊寬度

有時(shí)候我們需要輸出形式符合某些規(guī)則俐东,比如字符串對(duì)齊跌穗,填充常跟對(duì)齊一起使用订晌,符號(hào)^ < >分別是居中、左對(duì)齊蚌吸、右對(duì)齊锈拨,后面帶寬度,冒號(hào)后面帶填充的字符套利,只能是一個(gè)字符推励。如果不指定,則默認(rèn)是用空格填充

>>>print('默認(rèn)輸出: {}, {}'.format('hello', 'world'))

默認(rèn)輸出:?hello, world

>>>print('左右各取10位對(duì)齊: {:10s}, {:>10s}'.format('hello', 'world'))

左右各取10位對(duì)齊:hello ? ? , ? ? ?world

>>>print('取10位中間對(duì)齊: {:^10s}, {:^10s}'.format('hello', 'world'))

取10位中間對(duì)齊: ??hello ? ?, ? world

>>>print('取2位小數(shù): {} is {:.2f}'.format(3.1415926, 3.1415926))

取2位小數(shù): 3.1415926 is 3.14

>>>print('數(shù)值的千分位分割: {} is {:,}'.format(1234567890,?1234567890))

1234567890 is?1,234,567,890

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?整數(shù)規(guī)則表

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?浮點(diǎn)數(shù)規(guī)則表

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肉迫,一起剝皮案震驚了整個(gè)濱河市验辞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喊衫,老刑警劉巖跌造,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異族购,居然都是意外死亡壳贪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門寝杖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)违施,“玉大人,你說我怎么就攤上這事瑟幕】钠眩” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵只盹,是天一觀的道長(zhǎng)辣往。 經(jīng)常有香客問我,道長(zhǎng)殖卑,這世上最難降的妖魔是什么站削? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮孵稽,結(jié)果婚禮上许起,老公的妹妹穿的比我還像新娘。我一直安慰自己肛冶,他們只是感情好街氢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著睦袖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荣刑。 梳的紋絲不亂的頭發(fā)上馅笙,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天伦乔,我揣著相機(jī)與錄音,去河邊找鬼董习。 笑死烈和,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的皿淋。 我是一名探鬼主播招刹,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼窝趣!你這毒婦竟也來(lái)了疯暑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哑舒,失蹤者是張志新(化名)和其女友劉穎妇拯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洗鸵,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡越锈,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了膘滨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甘凭。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖火邓,靈堂內(nèi)的尸體忽然破棺而出丹弱,到底是詐尸還是另有隱情,我是刑警寧澤贡翘,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布蹈矮,位于F島的核電站,受9級(jí)特大地震影響鸣驱,放射性物質(zhì)發(fā)生泄漏泛鸟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一踊东、第九天 我趴在偏房一處隱蔽的房頂上張望北滥。 院中可真熱鬧,春花似錦闸翅、人聲如沸再芋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)济赎。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間司训,已是汗流浹背构捡。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留壳猜,地道東北人勾徽。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像统扳,于是被迫代替她去往敵國(guó)和親喘帚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容