在前面三篇Python基础里,或多或少都提到一些关于格式化输出的东西,今天,我来系统整理下格式化输出的知识点。
1、类型
(1)整数型:%d
(2)浮点型:%f
>>>'%f'%1.235 #默认是保留小数点后6位
'1.235000'
>>>'%.2f'%1.1235 #保留小数点后2位
'1.24'
>>>'%6.2f'%1.235 #保留小数点后2位,且长度为6,不足的以空格补位
' 1.24'
>>>'%06.2f'%1.235 #保留小数点后2位,且长度为6,不足的以0补位
'001.24'
>>>'%+06.2f'%1.235 #保留小数点后2位,且长度为6,输出“+”,不足的以0补位
'+01.24'
>>>'%06.2f'%-1.235 #保留小数点后2位,且长度为6,输出“-”,不足的以0补位
'-01.24'
>>> '-%06.2f'%1.235
'-001.24'
>>> '%-06.2f'%1.235
'1.24 '
(3)字符串:%s
(4)科学计数:%e
(5)输出转义字符:%r
2、字符串拼接和格式化输出
2.1、字符串拼接
(1)使用+拼接
>>>a = 'hello'
>>>b = ' world'
>>>c = a+b
>>>c
'hello world'
(2)格式化字符串
>>>name = '安安'
>>>age = 1
>>>country = '中国'
>>>'我叫%s,今年%d岁,来自%s'%(name,age,country)
'我叫安安,今年1岁,来自中国'
(3)使用join
>>>name = '安安'
>>>age = '1'
>>>country = '中国'
>>>'我叫%s,今年%d岁,来自%s'.join([name,age,country])
'我叫安安,今年1岁,来自中国'
(4)使用format
>>> a = 'I'
>>> b = ' Love'
>>> c = ' Python'
>>> '{}{}{}'.format(a,b,c) #不带序号的用法
'I Love Python'
>>> '{1}{2}{0}'.format(a,b,c) #带序号的用法
' Love PythonI'
>>> '{:.2f}'.format(1.233333) #这里“:”的作用是为了让“.2f”生效
'1.23'
>>> a = 1.2555
>>> b=2.366887
>>> c = 6.123e+05
>>> 'a={1:.2f} b={2:6.3f} c={0:.3f}'.format(a,b,c)
'a=2.37 b=612300.000 c=1.256'
>>> print('a={1:.2f}\nb={2:6.3f}\nc={0:.3f}'.format(a,b,c))
a=2.37
b=612300.000
c=1.256
>>> '{:.2%}'.format(0.06666) #输出百分号
'6.67%'
>>> '{:<10}'.format(7.89) #左对齐,不足的用空格补位
'7.89 '
>>> '{:0<10}'.format(7.89) #左对齐,不足的用0(也可用其他字母/符号)补位
'7.89000000'
>>> '{:>10}'.format(7.89) #右对齐,不足的用空格补位
' 7.89'
>>> '{:->10}'.format(7.89) #右对齐,不足的用 -(也可用其他字母/符号)补位
'------7.89'
>>> '{:^10}'.format(7.89) #居中对齐,不足的用空格补位
' 7.89 '
>>> '{:*^10}'.format(7.89) #居中对齐,不足的用 *(也可用其他字母/符号)补位
'***7.89***'