1.format()
位置参数
>>> "{0} love {1}".format("I","you")
'I love you
{0} {1}指字段位置参数
关键字参数
>>> "{a} love {b}".format("I","you")
Traceback (most recent call last):
File "<pyshell#93>", line 1, in <module>
"{a} love {b}".format("I","you")
KeyError: 'a'
format()里面不指明的话,会出错,所以如下:
"{a} love {b}".format(a="I",b="you")
'I love you'
位置参数和关键字混合使用:
合理:
>>> "{0} love {a} {b}".format("I",a="you",b='forever')
'I love you forever'
不合理:
>>> "{a} love {b} {0}".format(a="I",b="you",'forever')
SyntaxError: non-keyword arg after keyword arg
2.格式化操作符
%c 输出为字符格式
>>> '%c' % 97
'a'
%d 输出为整数
>>> '%d + %d = %d' %(1,2,3)
'1 + 2 = 3'
%o 输出为八进制
>>> '%o' % 10
'12'
%x 输出为十六进制且小写
>>> '%x' % 10
'a'
%X 输出为十六进制且为大写
>>> '%X' % 10
'A'
%f输出为浮点型
>>> '%f' % 13.456
'13.456000'
没有指明输出位数,默认小数位数为六位
%e 输出为科学计数法且e小写
>>> '%e' % 13.456
'1.345600e+01'
%E 输处为科学计数法且e为大写
>>> '%E' % 13.456
'1.345600E+01'
格式化辅助操作符
m.n m为整数位数,n为小数点位数不足时用零
>>> '%5.6f' % 12.34
'12.340000'
即如下格式控制:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,' '或0。+表示如果为整数则输处加正号。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度
>>> '%10d' % 5' 5'
>>> '%+10d' % 5
' +5’
%#o 输出为八进制形式
>>> '%#o' % 10
'0o12'
%#x 输出为十六进制形式
>>> '%#x' % 10
'0xa'