基本方法
test =5000
print("%6d" % test) # 输出宽度为6,结果为 5000(前面有两个空格,右对齐)
print("%2d" % test) # 输出宽度为2,但test值宽度为4,按实际输出,结果为
# 5000
print("%-6d" % test)# 输出宽度为6,结果为5000 (后面两个空格,左对齐)
print("%+6d" % test)# 输出宽度为6,结果为 +5000(前面一个空格,右对齐)
print("%06d" % test)# 输出宽度为6,结果为005000(前面两个0,空格改为0)
print("%#o" % test) # 以八进制数形式输出,前面添加'0o',结果为0o11610
print("%#x" % test) # 以十六进制数形式输出,前面添加'0x',结果为0x1388
test=128.3656
print("%6.2f" % test) # 输出宽度为6,小数点后面保留2位,结果为128.37
print("%3.1f" % test) # 按实际宽度输出,小数点后面保留1位,结果为128.4
print("%.3e" % test) # 小数点后面保留3位,结果为1.284e+02
test="上海是一个美丽的城市"
print("%5.2s" % test) # 输出宽度为5,输出前两个字,结果为' 上海'(前面有
# 三个空格)
用.format()方法进行字符串格式化
{ <序号> : <占位符> <对齐符> <总长度> <千位分隔> <截断位数> <数字类型> }.format()
>>> '{:>8}'.format('123') #总长度8字符,右对齐
' 123'
>>> '{:*^10}'.format('123') #总长度10字符,居中对齐,星号填充
'***123****'
>>> '{:_^24,}'.format(12345.67890) #居中,下画线填充,千分分隔
'______12,345.6789_______'
>>> '{:.3f}'.format(1.23456789) #保留3位小数
'1.235'
>>> '{:.3}'.format('甲乙丙丁戊己庚辛') #截断输出3字符
'甲乙丙'
>>> '{:X}'.format(1234) #字符串输出大写十六进制
'4D2'
>>> '{:e}'.format(0.0000001234)
'1.234000e-07'
>>> '{:%}'.format(0.12345)
'12.345000%'
格式限定表达式也支持按序号接收参数,例如:
>>> '{0:{1}{3}{2}}'.format('甲乙丙丁','-',30,'^')
'-------------甲乙丙丁-------------'