Python之精準學習 格式化輸出

2021-08-21 19:20:08 字數 3407 閱讀 2731

今天我們談談格式化輸出的那些鮮為人知的故事…

歷史 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

)

1011

1113

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 在保證六位有效數字的前提下,使用小數方式,...