什么是"<"和">"做格式化吗?

时间:2017-01-04 12:04:59

标签: python python-3.x string-formatting

在Python文档中,它表示对齐'<'强制字段在可用空间内左对齐。

这是否意味着这行代码将每个变量对齐10个空格或至少10个空格?

print("{:<10} {:<10} {:<10} £{:<10} £{:<10}".format(GTIN,product,Quantity,indprice,finprice))

1 个答案:

答案 0 :(得分:1)

<10格式设置使每个字段至少 10个字符宽,将值str()转换为字段的左侧部分。因此,'foo'(3个字符长)的值最终会在右边增加7个空格以创建一个包含10个字符的字符串,这就是填充的字符串替换{..}字段。

如果该值需要超过10个字符,则该字段将替换为该值的全文;宽度是最小长度,而不是最大长度。

因此,每个{:<10}字段被至少10个字符宽的内容替换,使用空格来构成值右侧的差异。

演示,将值填充到左对齐的字段中,最小宽度为5:

>>> for value in ('f', 'foo', 'foobar'):
...     formatted = '>{:<5}<'.format(value)
...     print(len(value), len(formatted), formatted)
...
1 7 >f    <
3 7 >foo  <
6 8 >foobar<

该值左对齐到最小字段宽度,但foobar更长,因此字段的总输出长度增长到匹配。