今天我們談談格式化輸出的那些鮮為人知的故事…
歷史 python2.6 開始,新增了一種格式化字串的函式 str.format(),它增強了字串格式化的功能
模板方式為: ''.format(被格式化內容)
此部分區域性示例引自菜鳥教程(萬分感謝!) 輸入
格式輸出
描述3.1415926
3.14
保留小數點後兩位
3.1415926
+3.14
帶符號保留小數點後兩位
-1
-1.00
帶符號保留小數點後兩位
2.71828 3
不帶小數 5
05 數字補零 (填充左邊, 寬度為2) 5
5***
數字補x (填充右邊, 寬度為4)
10
10xx
數字補x (填充右邊, 寬度為4)
1000000
1,000,000
以逗號分隔的數字格式
0.25
25.00%
百分比格式
1000000000
1.00e+09
指數記法
13
13右對齊 (預設, 寬度為10)
13
13 左對齊 (寬度為10)
13
13 中間對齊 (寬度為10)
11
''.format(11
)''.format(11
)''.format(11
)''.format(11
)''.format(11
)''.format(11
)
10111113
b0xb
0xb
進製
%
百分號格式化部分引自zzwwsun的部落格(此處表示萬分感謝!)
運算子:
%格式:
格式化字串%引數值
或格式化字串%(引數值1,引數值2,...)
示例:fmt = '姓名:%s, 年齡:%d'
name = '張飛'
age = 20
print(fmt % (name, age))
格式化字串中的佔位符和型別碼
佔位符型別碼 意義
%s 字串
%r 字串,使用repr,而不是str
%c 整數轉為單個字元
>>> "%c" %20013
#返回值:'中',類似於chr(20013)
%d 十進位制整數
>>> "%d" %10
#返回值:'10'
%o 八進位制整數
>>> "%o" %10
#返回值:'12'
%x 十六進製制整數(字元a-f小寫)
>>> "%x" %10
#返回值:'a'
%x 十六進製制整數(字元a-f大寫)
>>> "%x" %10
#返回值:'a'
%e 指數型浮點數(e小寫),如2.9e+10
>>> "%e" %29979000000.0
#返回值:'2.997900e+10'
%e 指數型浮點數(e大寫),如2.9e+10
>>> "%e" %29979000000.0
#返回值:'2.997900e+10'
%f, %f 浮點十進位制形式
>>> "%f" %29979000000.0
#返回值:'29979000000.000000'
>>> "%f" %29979000000.0
#返回值:'29979000000.000000'
>>> "%f" %2.997e+10
#返回值:'29970000000.000000'
%g, %g 十進位制形式浮點或指數浮點自動轉換
>>> "%g" %12.123
#返回值:'12.123'
>>> "%g" %12545361564531.123321564
#返回值:'1.25454e+13'
%% 等同於乙個%字元
>>> "利率為%f%%" %1.8
#返回值:'利率為1.800000%'
佔位符%和型別碼之間的格式語法:
% [格式語法] 型別碼 (a,s,f等)
格式語法:
- 左對齊
+ 右對齊
0 補零
寬度(十進位制數字)
寬度.精度(十進位制數字) #f,f
示例:>>> "%10d" %123
#返回值:' 123'
>>> "%-10d" %123
#返回值:'123 '
>>> "%10s" %123
#返回值:' 123'
>>> "%10s" %'abc'
#返回值:' abc'
>>> "%-5s" %'abc'
#返回值:'abc '
>>> "%+10d" %123
#返回值: +123'
>>> "%010d" %123
#返回值:'0000000123'
>>> "%0010d" %123
#返回值:'0000000123'
>>> "%020.5f" %123.123545689
#返回值:'00000000000123.12355'
>>> "%0-20.5f" %123.123545689
#返回值:'123.12355 '
>>> "%-020.5f" %123.123545689
#返回值:'123.12355 '
>>> "%+020.5f" %123.123545689
#返回值:'+0000000000123.12355'
>>> "%4.4f" %3.1415926
#返回值:'3.1416'
基礎教程 Python格式化字串(格式化輸出)
print 函式使用以 開頭的轉換說明符對各種型別的資料進行格式化輸出,具體請看下表。表 1 python 轉換說明符 轉換說明符 解釋 d i 轉換為帶符號的十進位制整數 o轉換為帶符號的八進位制整數 x x 轉換為帶符號的十六進製制整數 e轉化為科學計數法表示的浮點數 e 小寫 e轉化為科學計數...
python學習之format 格式化函式
python2.6 開始,新增了一種格式化字串的函式 str.format 它增強了字串格式化的功能。基本語法是通過 和 來代替以前的 format 函式可以接受不限個引數,位置可以不按順序 print format hello world 不設定指定位置,按預設順序 print format he...
python之格式化輸出
1 整數的輸出 o oct 八進位制 d dec 十進位制 x hex 十六進製制 2 浮點數輸出 1 格式化輸出 f 保留小數點後面六位有效數字 3f,保留3位小數字 e 保留小數點後面六位有效數字,指數形式輸出 3e,保留3位小數字,使用科學計數法 g 在保證六位有效數字的前提下,使用小數方式,...