format中文对齐问题
代码示例:
a = '{0:^4}\t{1:^8}\t{2:^6}'
print(a.format('学号', '姓名', '分数'))
print(a.format('01', '张三', '80'))
print(a.format('01', '诸葛小三', '80'))
输出结果
并没有对齐(强迫症玩家受不了)。
原因是什么?
当中文字符宽度不够时,采用西文字符填充;中西文字符占用宽度不同。所有即使相同的宽度,居中对齐缺不是理想的样式。
如何解决?
采用中文字符的空格填充 chr(12288)
修改后的代码:
a = '{0:^4}\t{1:{3}^8}\t{2:^6}'
print(a.format('学号', '姓名', '分数', chr(12288)))
print(a.format('01', '张三', '80', chr(12288)))
print(a.format('01', '诸葛小三', '80', chr(12288)))
输出结果:
完美居中对齐。