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保留一位小數,預設保留六位,不夠六位從前面新增0newsim 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,timedef 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 ...