python format函数保留两位小数_python format函数
在Python?3.0中,%操作符通過(guò)一個(gè)更強(qiáng)的格式化方法format()進(jìn)行了增強(qiáng)。對(duì)str.format()的支持已經(jīng)被反向移植到了Python?2.6在2.6中,8-bit字符串和Unicode字符串都有一個(gè)format()方法,這個(gè)方法會(huì)把字符串當(dāng)作一個(gè)模版,通過(guò)傳入的參數(shù)進(jìn)行格式化。這個(gè)用來(lái)格式化的模版使用大括號(hào)({,})作為特殊字符。#?Substitute?positional?argument?0?into?the?string."User?ID:?{0}".format("root")?->?"User?ID:?root"#?Use?the?named?keyword?arguments'User?ID:?{uid}?Last?seen:?{last_login}'.format(uid='root',last_login?=?'5?Mar?2008?07:20')?->'User?ID:?root?Last?seen:?5?Mar?2008?07:20'大括號(hào)可以寫(xiě)兩遍來(lái)轉(zhuǎn)義。format("Empty?dict:?{{}}")?->?"Empty?dict:?{}"字段名字可以為整數(shù),表示參數(shù)的位置。像{0},?{1}等。也可以是參數(shù)的名字。你以可以使用字段的組合來(lái)讀取屬性或者字典的key值。import?sys'Platform:?{0.platform}\nPython?version:?{0.version}'.format(sys)?->'Platform:?darwin\nPython?version:?2.6a1+?(trunk:61261M,?Mar?5?2008,?20:29:41)?\n[GCC?4.0.1?(Apple?Computer,?Inc.?build?5367)]'import?mimetypes'Content-type:?{0[.mp4]}'.format(mimetypes.types_map)?->'Content-type:?video/mp4'注意,當(dāng)使用字典類(lèi)型的表示方法,如[.mp4]時(shí),你不需要引號(hào)將字符串(.mp4)引起來(lái);它會(huì)查找用.mp4作為主鍵的值。以整數(shù)開(kāi)頭的字符串會(huì)被轉(zhuǎn)換成一個(gè)整數(shù)。你不能在被格式化的字符串中寫(xiě)復(fù)雜的表達(dá)式。到此,我們已經(jīng)演示了怎樣替換指定的字段。我們還可以通過(guò)在格式化指示符后面添加一個(gè)冒號(hào)來(lái)進(jìn)行精確格式化。例如:#?Field?0:?left?justify,?pad?to?15?characters#?Field?1:?right?justify,?pad?to?6?charactersfmt?=?'{0:15}?${1:>6}'fmt.format('Registration',?35)?->'Registration?$?35'fmt.format('Tutorial',?50)?->'Tutorial?$?50'fmt.format('Banquet',?125)?->'Banquet?$?125'格式化指示符可以通過(guò)嵌套進(jìn)行引用。fmt?=?'{0:{1}}'width?=?15fmt.format('Invoice?#1234',?width)?->'Invoice?#1234?'width?=?35fmt.format('Invoice?#1234',?width)?->'Invoice?#1234?'可以指定所需長(zhǎng)度的字符串的對(duì)齊方式。效果字符:?右對(duì)齊^?中間對(duì)齊=?(只用于數(shù)字)在小數(shù)點(diǎn)后進(jìn)行補(bǔ)齊格式化指示符可以包含一個(gè)展示類(lèi)型來(lái)控制格式。例如,浮點(diǎn)數(shù)可以被格式化為一般格式或用冪來(lái)表示。>>>?'{0:g}'.format(3.75)'3.75'>>>?'{0:e}'.format(3.75)'3.750000e+00'展示類(lèi)型有很多。2.6的文檔里有完整的列表。這里列出一些示例。'b'?-?二進(jìn)制。將數(shù)字以2為基數(shù)進(jìn)行輸出。'c'?-?字符。在打印之前將整數(shù)轉(zhuǎn)換成對(duì)應(yīng)的Unicode字符串。'd'?-?十進(jìn)制整數(shù)。將數(shù)字以10為基數(shù)進(jìn)行輸出。'o'?-?八進(jìn)制。將數(shù)字以8為基數(shù)進(jìn)行輸出。'x'?-?十六進(jìn)制。將數(shù)字以16為基數(shù)進(jìn)行輸出,9以上的位數(shù)用小寫(xiě)字母。'e'?-?冪符號(hào)。用科學(xué)計(jì)數(shù)法打印數(shù)字。用'e'表示冪。'g'?-?一般格式。將數(shù)值以fixed-point格式輸出。當(dāng)數(shù)值特別大的時(shí)候,用冪形式打印。'n'?-?數(shù)字。當(dāng)值為整數(shù)時(shí)和'd'相同,值為浮點(diǎn)數(shù)時(shí)和'g'相同。不同的是它會(huì)根據(jù)區(qū)域設(shè)置插入數(shù)字分隔符。'%'?-?百分?jǐn)?shù)。將數(shù)值乘以100然后以fixed-point('f')格式打印,值后面會(huì)有一個(gè)百分號(hào)。類(lèi)和類(lèi)型可以定義一個(gè)__format__()方法來(lái)控制怎樣格式化自己。它會(huì)接受一個(gè)格式化指示符作為參數(shù):def?__format__(self,?format_spec):if?isinstance(format_spec,?unicode):return?unicode(str(self))else:return?str(self)還有一個(gè)內(nèi)置的format()方法可以用來(lái)格式化一個(gè)值。它會(huì)調(diào)用類(lèi)型的__format__()方法,并將格式化指示符作為參數(shù)傳進(jìn)去。>>>?format(75.6564,?'.2f')'75.66'參考格式化字符串的語(yǔ)法?-?格式化字段的參考文檔PEP?3101?-?Advanced?String?FormattingPEP由Talin編寫(xiě),由Eric?Smith實(shí)現(xiàn)。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的python format函数保留两位小数_python format函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Xamarin.Android 开发中遇
- 下一篇: 编程软件python是什么意思_程序员P