5.2.6 符号、对齐、用0填充和进制转换
之前讲到使用format方法可以让待格式化的值左侧或右侧补空格,不过这种填充空格的效果看上去比较难看,而且一般的用户也分不清楚前面或后面到底有多少个空格。所以最合适的方式就是在值的前面或后面补0。要实现这个功能,就需要使用{chapter:02.0f}来格式化了。其中,chapter是格式化参数,第1个0表示位数不足时前面要补0;2表示整数部分是2位数字;第2个0表示小数部分被忽略;f表示以浮点数形式格式化chapter指定的值。
print('第{chapter:02.0f}章'.format(chapter=4))
#输出结果:第04章
如果想用format方法控制值的左、中、右对齐,则可以分别使用"<"、"^“和”>"。
print('{:<10.2f}\n{:^10.2f}\n{:>10.2f}'.format(1,2,3))
#分别让1、2、3左对齐、中对齐、右对齐方式显示
#输出结果:
# 1.00
# 2.00
# 3.00
不管是哪种方式对齐(左、中、右),在很多情况下,值的总长度要比指定宽度小,在默认情况下,不足的位要补空格,但也可以通过在"<"、"^“和”>"前面加符号,让这些不足的位用这些符号替代空格补齐。
print('{:*^20}'.format('星号'))
#"星号"在宽度为20的区域内中心对齐,并左右两侧添加若干个星号(*),两侧各添加9个星号(*)
#输出结果:*********星号*********