5 模組詳解之一 格式化輸出 ,format

2022-08-11 15:42:18 字數 4638 閱讀 5206

typecode    必選

s,#獲取傳入物件的__str__方法的返回值,並將其格式化到指定位置

r,#獲取傳入物件的__repr__方法的返回值,並將其格式化到指定位置

c,#整數:將數字轉換成其unicode對應的值,10進製範圍為 0 <= i <= 1114111(py27則只支援0-255);字元:將字元新增到指定位置

o,#將整數轉換成 八 進製表示,並將其格式化到指定位置

x,#將整數轉換成十六進製制表示,並將其格式化到指定位置

d,#將整數、浮點數轉換成 十 進製表示,並將其格式化到指定位置

e,#將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(小寫e)

e,#將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(大寫e)

f,# 將整數、浮點數轉換成浮點數表示,並將其格式化到指定位置(預設保留小數點後6位)

f,#同上

g,#自動調整將整數、浮點數轉換成 浮點型或科學計數法表示(超過6位數用科學計數法),並將其格式化到指定位置(如果是科學計數則是e;)

g,#自動調整將整數、浮點數轉換成 浮點型或科學計數法表示(超過6位數用科學計數法),並將其格式化到指定位置(如果是科學計數則是e;)

%,#當字串中存在格式化標誌時,需要用 %%表示乙個百分號

在print中可以這樣使用,舉例如下:

print("%s"%"xiaoming")

xiaoming

print("%d"%1324)

1324

如果在print中只用了佔位符,並且還要列印「%」的話,需要這樣做:

print ("%s %%"%'xiaoming')

xiaomin %

如果要將字典的值輸出的話,可以用下面的來做:

print('%(name)s  %(score)06.1f' %)    #06.1f 的意思是: 0的意思是填充位,6的意思是這個浮點數一共六位(加小數點),1的意思是保留一位小數,總體來說就是9.5保留一位小數,預設保留六位,不夠六位從前面新增0

newsim 0009.5

[[fill]align][sign][#][0][width][,][.precision][type]

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

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

< #內容左對齊

> #內容右對齊(預設)

= #內容右對齊,將符號放置在填充字元的左側,且只對數字型別有效。 即使:符號+填充物+數字

^ #內容居中

sign #【可選】有無符號數字

+ #正號加正,負號加負;

- #正號不變,負號加負;

空格 #正號空格,負號加負;

# #【可選】對於二進位制、八進位制、十六進製制,如果加上#,會顯示 0b/0o/0x,否則不顯示

, #【可選】為數字新增分隔符,如:1,000,000

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

.precision        #【可選】小數字保留精度

type       #【可選】格式化型別

傳入」 字串型別 「的引數

s,格式化字串型別資料

空白,未指定型別,則預設是none,同s

傳入「 整數型別 」的引數

b,#將10進製整數自動轉換成2進製表示然後格式化

c,#將10進製整數自動轉換為其對應的unicode字元

d,#十進位制整數

o,#將10進製整數自動轉換成8進製表示然後格式化;

x,#將10進製整數自動轉換成16進製表示然後格式化(小寫x)

x,#將10進製整數自動轉換成16進製表示然後格式化(大寫x)

傳入「 浮點型或小數型別 」的引數

e,#轉換為科學計數法(小寫e)表示,然後格式化;

e,#轉換為科學計數法(大寫e)表示,然後格式化;

f,#轉換為浮點型(預設小數點後保留6位)表示,然後格式化;

f,#轉換為浮點型(預設小數點後保留6位)表示,然後格式化;

g,#自動在e和f中切換

g,#自動在e和f中切換

%,#顯示百分比(預設顯示小數點後6位)

下面介紹幾種常用的模式:

模式一:普通佔位符,這個和print的是一樣的,但是寫法有點不同

print("".format('xiaoming','xiaohong'))

xiaomingxiaohong

print(",".format(12345,'xiaohong'))

12345,xiaohong

print( "".format(0.234253))

000.23

模式二:名稱佔位符,和print也是一樣的

print(" ".format(name='alex',age=23))

alex 23

也可以這樣寫,如下但是這樣指定了值的型別

print(" ".format(name='alex',age=23))

alex 23

模式三:列印百分數,直接在佔位符的後面加個%即可

print("".format(0.234253) )

23.43%

模式四:自動填充功能

"".format('alex')                       #居中顯示alex,其餘 用* 填充

"".format('alex') #右對齊顯示alex,其餘 用* 填充

"".format('alex') #左對齊顯示alex,其餘 用* 填充

print("".format('alex') )

********alex********

print("".format('alex') )

****************alex

print("".format('alex') )

alex****************

模式6:佔位符用數字,注意這裡數字可以重複但必須從0開始

print("  ".format('xiaoming','xiaohong'))    #0代表format中第乙個,1代表第二個,一次類推

xiaoming xiaoming xiaohong

模式7:只有大括號

print("{} {} {}".format('zhangshan','lisi','wangwu'))     #如果只有大括號,則從前往後依次匹配format中的內容

zhangshan lisi wangwu

import sys,time

def view_bar(total,start=0):

while start < int(total):

start += 1 #1可以替換為每次接收資料的大小

c = int((start / int(total)) * 70) #當前需要列印的#的數量

p = float((start / int(total))) #當前傳輸完畢的資料百分比

j = "#" * c

sys.stdout.write("\r".format(j,p))

time.sleep(0.1)

print('')

tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')

tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])

tpl = "i am , age , really ".format("seven", 18)

tpl = "i am , age , really ".format(*["seven", 18])

tpl = "i am , age , really ".format(name="seven", age=18)

tpl = "i am , age , really ".format(**)

tpl = "i am , age , really ".format([1, 2, 3], [11, 22, 33])

tpl = "i am , age , money ".format("seven", 18, 88888.1)

tpl = "i am , age ".format(*["seven", 18])

tpl = "i am , age ".format(name="seven", age=18)

tpl = "i am , age ".format(**)

tpl = "numbers: ,,,,, ".format(15, 15, 15, 15, 15, 15.87623, 2)

tpl = "numbers: ,,,,, ".format(15, 15, 15, 15, 15, 15.87623, 2)

tpl = "numbers: ,,,,, ".format(15)

tpl = "numbers: ,,,,, ".format(num=15)

2 1格式化輸出

註解的三種方式 1.之後的這一行全為註解 2.之間的內容全是 可以換行 3.後一行都是 這是xml註解 之後會轉換乙個xml檔案 無效表示符 for 關鍵字 3q 不能是數字開頭 count 不可以 可以 console.write 中間不能有.號 ture false 都是給bool布林值 預設為...

(11)格式化輸出

這個模擬較重要,用於格式化翻譯,因為單詞對應的翻譯比較大,有一些例句有幾十條,如果不格式化,返回的講是一大坨,一大坨的,使用者體驗不好 經過這個類的格式化之後,返回的就是一條一條的例句,而不是一大堆 格式化翻譯 class formattrans public function gettrans s...

2 格式化輸出

format 格式化文字並返回結果到字串 print 輸出格式化文字到控制台 println 輸出格式化文字到控制台,並在行尾自動加換行 檔案,format.rc fn main world println hello println hello format println hello this ...