formata()函数用于将数值格式化。

语法:

format(value[,format_spec])

value:要格化式的值。

format_spec :格式字符串。

format_spec参数的语法格式:
[[fill]align][sign][#][0][width][,][.precision][type]

fill:可选,用于指定空白处填充的字符,默认为空格。

align:可选,用于指定对齐方式,需与width配合使用。

对齐方式包括:

"<"——左对齐

">"——右对齐

"^"——内容居中

"="——右对齐,仅对数字有效。

sign:可选,用于指定有无符号。

"+":表示正数前添加正数,负数前添加负号。

"-":表示正数不变,负数前添加负号。

空格:表示正数前添加空格,负数前添加负号。

“#”可选,对于二、八、十六进制数来说,如果添加"#",则会显示0b/0o/0x前缀,否则不显示前缀。
width:可选,用于指定所占宽度,表示总共输出多少位数字。
“,"可选,为数字添加千位分隔符。
“.precision”:可选,用于指定保留的小数位数。
type: 可选,用于指定格式化类型。

#format()函数常用的格化式字符
f/F:转换为浮点数再格式化,且会四舍五入
e/E:转换为科学计数法表示再格式化
g:自动在e和f中切换,将整数、浮点数转换为浮点型或科学计数法表示
G:自动在E和F中切换,将整数、浮点数转换为浮点型或科学计数法表示
%: 显示百分比

1.通过format()函数格式化实现对齐与填充操作

print(format(2221,'12'))       #默认右对齐,宽度为12
print(format("ming","12"))     #默认左对齐,款对为12
print(format("ming",">10"))    #右对齐,宽度为12
print(format(123,"0=12"))      #右对齐,宽度为12,用0补充

运行结果:
        2221
ming        
      ming
000000000123

2.通过format()函数指定有无符号输出

print(format(1.23,'+.2f'))   #值为"+",正数前添加正号
print(format(-1.23,'+.2f'))  #值为"+",负数前添加负号
print(format(1.23,'-.2f'))   #值为"-",正数不变

运行结果:
+1.23
-1.23
1.23

3.通过format()函数保留小数位数

print(format(3.1415926,'f'))    #默认保留小数点后6位
print(format(3.1415,'.0f'))     #不带小数
print(format(3.1415,'.1f'))     #保留小数点后1位

运行结果:
3.141593
3
3.1

4.通过format()函数对数值进行格式化

print(format(0.123,'%'))     #显示百分比(默认显示小数点后6位)
print(format(0.123,'.2%'))  #百分比格式,且保留2位小数
print(format(10000,'.2e'))  #指数方法


#运行结果
12.300000%
12.30%
1.00e+04