PYTHON FORMAT 簡單講解

2021-09-24 12:34:54 字數 2819 閱讀 2715

2023年06月22日 10:52:48 loveliuzz 閱讀數 15671

format函式的用法總結如下: 

函式宣告 

function format(const format: string; const args: array of const): string; overload;

函式功能 

事實上format方法有兩個種形式,另外一種是三個引數的,主要區別在於它是執行緒安全的, 但並不多用,所以這裡只對第乙個介紹。format引數是乙個格式字串,用於格式化args裡面的值的。args是乙個變體陣列,即它裡面可以有多個引數,而且每個引數可以不同。 例如:   format("my name is %6s","wind");   返回的是:my name is wind 

函式引數 

format裡面可以寫普通的字串,比如"my name is" ,但有些格式指令字元具有特殊意義,比如"%6s"   

格式指令具有以下的形式: "%" [index ":"] ["-"] [width] ["." prec] type 

它是以"%"開始,而以type結束,type表示乙個具體的型別。中間是用來格式化type型別的指令字元,是可選的。

各個引數的含義與用途如下;   [type] 

type 數可選的型別有d,u,f,e,g,n,m,p,s,x. 

1) d 十進位制數,表示乙個整型值,u 和d一樣是整型值,但它是無符號的,而如果它對應的值是負的,則返回時是乙個2的32次方減去這個負數的絕對值 。   例如:format("this is %u",-2);   返回的是:this is 4294967294   

2)f 對應浮點數 

3)e科學表示法,對應整型數和浮點數   例如:format("this is %e",-2.22);   返回的是:this is -2.220000e+000 

4)g 這個只能對應浮點型,且它會將值中多餘的數去掉   例如:format("this is %g",02.200);   返回的是:this is 2.2 

5)n 只能對應浮點型,將值轉化為號碼的形式,看乙個例子就明白了   例如:format("this is %n",4552.2176);   返回的是:this is 4,552.22   注意:一是,只表示到小數後兩位 

二是,即使小數沒有被截斷,它也不會也像整數部分一樣有逗號來分開的 

6)m 錢幣型別,但關於貨幣型別有更好的格式化方法,這裡只是簡單的格式化,另外它只對應於浮點值   例如:format("this is %m",9552.21);   返回的是:this is ¥9,552.21 

返回的是:this is 0012f548   

8)s 對應字串型別 

9)x 必須是乙個整形值,以十六進製制的形式返回   例如:format("this is %x",15);   返回的是:this is f 

下面介紹格式化type的指令: 

[index ":"] :index指示args中引數顯示的順序 。   例如:format("this is %d %d",12,13); 

其中第乙個%d的索引是0,第二個%d是1,所以字元顯示的時候,是這樣:this is 12 13  

若定義為:format("this is %1:d %0:d",12,13);   那麼返回的字串就變成了:this is 13 12 

若定義為:format("%d %d %d %0:d %d", 1, 2, 3, 4)    那麼將返回的是:1 2 3 1 2 

若想返回的是1 2 3 1 4,必須這樣定義:format("%d %d %d %0:d %3:d", 1, 2, 3, 4)   

注意:索引不能超出args中的個數,不然會引起異常。   例如:format("this is %2:d %0:d",12,13); 

由於args中只有12 13 兩個數,所以index只能是0或1,這裡為2就錯了 。   

[width] :指定將被格式化的值佔的寬度。   

例如:format("this is %4d",12);   返回的是:this is 12 

如果width的值小於引數的長度,則沒有效果。   

例如:format("this is %1d",12);   返回的是:this is 12 

["-"] :這個指定引數向左對齊,和[width]合在一起最可以看到效果。  

例如:format("this is %-4d,yes",12);   返回的是:this is 12 ,yes 

["." prec] :指定精度,對於浮點數效果最佳。   

例如:format('this is %.2f,1.1234);   返回的是: this is 1.12 

又如:format('this is %.7f,1.1234);   返回的是: this is 1.1234000 

而對於整型數,如果prec比如整型的位數小,則沒有效果,反之比整形值的位數大,則會在整型值的前面以0補之。 

例如:format('this is %.7d,1234);   返回的是:this is 0001234 

對於字元型,剛好和整型值相反,如果prec比字串型的長度大,則沒有效果,反之比字串型的長度小,則會截斷尾部的字元。 

例如:format('this is %.2s,1234);   返回的是:this is 12 

之前說過的例子:format("this is %e",-2.22);

返回的是:

this is -2.220000e+000 

若這樣:

format('this is %

.2e',[-2.22]); 

就可以解決了!

Python format函式詳解

python從2.6開始支援format,新的更加容易讀懂的字串格式化方法,從原來的 模式變成新的可讀性更強的 花括號宣告 用於渲染前的引數引用宣告,花括號裡可以用數字代表引用引數的序號,或者 變數名直接引用。從format引數引入的變數名 冒號 字元位數宣告 空白自動填補符 的宣告 千分位的宣告 ...

python format格式輸出

內容摘自 相對基本格式化輸出採用 的方法,format 功能更強大,該函式把字串當成乙個模板,通過傳入的引數進行格式化,並且使用大括號 作為特殊字元代替 1 不帶編號,即 2 帶數字編號,可調換順序,即 3 帶關鍵字,即 1 print format hello world 不帶字段 2 hello...

python format 用法詳解

str.format 這個特性從python2.6而來 其實實現的效果和 有些類似 不過有些地方更方便 通過位置對映 in 1 format kzc 18 out 1 kzc,18 in 2 format kzc 18 注意python2.6並不支援寫為空 out 2 kzc,18 in 3 for...