字符串格式化输出
format方式
格式
[[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位)
常用举例
# {0},{1} 用数字代表引用参数的序号
a = {0},{1}.format(hello,world) # => hello,world
# 变量名直接引用,**表示取 key/value
b = {name},{age}.format(**{
name:no96,age:18}) # => no96,18
# 保留两位小数
c = {0:.2f}.format(1.23456) # => 1.23
# 居中 站位符10,居中显示,空白处用a填充
d = {:a^10}.format(1.23) # =>aaa1.23aaa
# 格式化时间
from datetime import datetime
e = {:%Y-%m-%d %H:%M}.format(datetime(2018, 2, 3, 4, 5)) # => 2018-02-03 04:05
% 的方式
格式
%[(name)][flags][width].[precision]typecode
参数
(name)为命名 flags可以有+,-,’ ‘或0。+表示右对齐。-表示左对齐。’ 为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。 width表示显示宽度 precision表示小数点后精度
格式符
%s 字符串 (采用str()的显示) %r 字符串 (采用repr()的显示) %c 单个字符 %b 二进制整数 %d 十进制整数 %i 十进制整数 %o 八进制整数 %x 十六进制整数 %e 指数 (基底写为e) %E 指数 (基底写为E) %f 浮点数 %F 浮点数,与上相同 %g 指数(e)或浮点数 (根据显示长度) %G 指数(E)或浮点数 (根据显示长度)
常用举例
# 保留两位小数 占位符4,默认右对齐,左边空出来的用0补齐 %4d则不补齐
a = %.2f %04d % (1.23456,7) # => 1.23 0007