查询python中格式说明符的“width”选项?

时间:2014-11-07 12:03:01

标签: python

以下是Python中格式说明符的示例:

"%10.6f"

因此第一个数字10对应于条目的宽度,第二个数字对应于条目可以具有的小数位数。

我的问题是,更改条目宽度的目的究竟是什么?我认为这完全是一个化妆品选项,使几个数字的格式看起来更整洁 - 相当于在单词中键入一堆数字并将它们对齐到右边?

2 个答案:

答案 0 :(得分:0)

指定字段的宽度允许您填充字段。默认设置是将字段填充到最小宽度,左侧有空格:

>>> '%10.6f' % 1.234
'  1.234000'
>>> '%20.6f' % 1.234
'            1.234000'

但你也可以用零填充字段:

>>> '%010.6f' % 1.234
'001.234000'
>>> '%020.6f' % 1.234
'0000000000001.234000'

或左边用空格调整:

>>> '%-10.6f' % 1.234
'1.234000  '
>>> '%-20.6f' % 1.234
'1.234000            '

例如,您可以使用此选项将值与较大表中的列对齐。

答案 1 :(得分:0)

我用它来打印表格的主要方式。

data = [[1, 1, 1,], [11, 11, 11,], [111, 111, 111]]
for row in data:
    for col in row:
        print('%10.1f' % col, end='')
    print()

Output -->
   1.0       1.0       1.0       1.0
  11.0      11.0      11.0      11.0
 111.0     111.0     111.0     111.0 

重要的是要注意它确实创建了一个包含这些空格的字符串,因此它的用途虽然可能是装饰性的,但并不是严格意义上的。