格式化字符串,可以使用format方法。format方法有两种形式参数,一种是位置参数,一种是关键字参数。
>>> '{0} {1}'.format('Hello', 'Python') #位置参数
'Hello Python'
>>> '{a} python {b} world'.format(a = 'python', b = 'world')#关键字参数
'python python world world'
>>> '{0} is {a} {b}'.format('This', a = 'a', b = 'Test')#混合使用
'This is a Test'
>>> '{{0}}'.format('no print')
'{0}'
>>> '{{}}'.format('no print')#打印{}
'{}'
格式化字符串,还可以使用格式化操作符 %
%c |
转换成字符(ASCII 码值,或者长度为一的字符串) |
%r |
优先用repr()函数进行字符串转换 |
%s |
优先用str()函数进行字符串转换 |
%d / %i |
转成有符号十进制数 |
%u |
转成无符号十进制数 |
%o |
转成无符号八进制数 |
%x / %X |
转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写) |
%e / %E |
转成科学计数法(e / E控制输出e / E) |
%f / %F |
转成浮点数(小数部分自然截断) |
%g / %G |
%e和%f / %E和%F 的简写 |
%% |
输出% (格式化字符串里面包括百分号,那么必须使用%%) |
Examples:
>>> '%c %c %c'%(97,98,99)
'a b c'
>>> '%s' % 'The great python'
'The great python'
>>> '%d + %d = %d' % (1,2,1+2)
'1 + 2 = 3'
>>> '%o'% 9
'11'
>>> '%x'% 10
'a'
>>> '%f' % 3.14159
'3.141590'
格式化操作符辅助指令
m.n | m是总宽度,n是小数点位数 |
– | 做对齐 |
+ | 正数前显示+ |
# | 八进制显示零(‘0′)十六进制’0x’或’0X’ |
0 | 数字前填充0 |
Examples:
>>> '%e' % 3.14159265
'3.141593e+00'
>>> '%e' % 1500000000
'1.500000e+09'
>>> '%E' % 1500000000
'1.500000E+09'
>>> '%g' % 1500000000
'1.5e+09'
>>> '%G' % 1500000000
'1.5E+09'
>>> '%G' % 3.14159
'3.14159'
>>> '%5.1f'% 3.14159
' 3.1'
>>> '%10d' % 5
' 5'
>>> '%-10d' % 5
'5 '
>>> '%+10d' % 5
' +5'
>>> '%#o' % 12
'0o14'
>>> '%#x' % 12
'0xc'
>>> '%#X' % 12
'0XC'
>>> '%010d' % 12
'0000000012'
>>> '%-010d' % 12
'12