http://www.cnblogs.com/nulige/p/6115793.html
2、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位)
字符串的参数使用{NUM}进行表示,0, 表示第一个参数,1, 表示第二个参数, 以后顺次递加;
使用":", 指定代表元素需要的操作, 如":.3"小数点三位, ":8"占8个字符空间等;
还可以添加特定的字母, 如:
'b' - 二进制. 将数字以2为基数进行输出.
'c' - 字符. 在打印之前将整数转换成对应的Unicode字符串.
'd' - 十进制整数. 将数字以10为基数进行输出.
'o' - 八进制. 将数字以8为基数进行输出.
'x' - 十六进制. 将数字以16为基数进行输出, 9以上的位数用小写字母.
'e' - 幂符号. 用科学计数法打印数字, 用'e'表示幂.
'g' - 一般格式. 将数值以fixed-point格式输出. 当数值特别大的时候, 用幂形式打印.
'n' - 数字. 当值为整数时和'd'相同, 值为浮点数时和'g'相同. 不同的是它会根据区域设置插入数字分隔符.
'%' - 百分数. 将数值乘以100然后以fixed-point('f')格式打印, 值后面会有一个百分号.
'{:4%}'.format(0.028) Out[2]: '2.800000%' '{:.4%}'.format(0.028) Out[3]: '2.8000%' #通过位置参数 '{0},{1}'.format('kzc',18) Out[5]: 'kzc,18' '{},{}'.format('kzc',18) Out[6]: 'kzc,18' '{1},{0},{1}'.format('kzc',18) Out[7]: '18,kzc,18' #通过关键字参数 '{name},{age}'.format(age=18,name='kzc') Out[9]: 'kzc,18' p=['kzc',18] '{0[0],0[1]}'.format(p) Traceback (most recent call last): File "D:Anaconda3libsite-packagesIPythoncoreinteractiveshell.py", line 2862, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-11-c91ca1d9f877>", line 1, in <module> '{0[0],0[1]}'.format(p) ValueError: Only '.' or '[' may follow ']' in format field specifier '{},{}'.format(p[0],p[1]) Out[12]: 'kzc,18' #填充与对齐 '{:>8}'.format('189') Out[14]: ' 189' #填充常和对齐一起使用 #^、<、>、分别是居中、左对齐、右对齐,后面带宽度 # :号后面带填充的字符,只能是一个字符,不指定默认用空格填充 '{:>8}'.format('189') Out[18]: ' 189' '{:0>8}'.format('189') Out[19]: '00000189' '{:a>8}'.format('189') Out[20]: 'aaaaa189' #精度与类型f #精度常和类型f一起使用,.2表示长度为2的精度,f表示float类型 "{:.2f}".format(321.33345) Out[23]: '321.33' "{:.2}".format(321.33345) #保留2位数 Out[30]: '3.2e+02' "{:.4}".format(321.33345) #保留4位数 Out[31]: '321.3' "{:.4f}".format(321.33345) #保留4位小数 Out[32]: '321.3335' # ,号做金额的千位分隔符 '{:,}'.format(123456789) Out[25]: '123,456,789'