【发布时间】:2019-12-16 22:12:15
【问题描述】:
我正在使用 Ipython 7.0.1 和 Python 3.6.9
我想将数字与格式字符串迷你语言右对齐。我使用 1 和 11 作为 1 位和 2 位数字的示例,我想将它们填充到总共 2 个字符。
对于零填充,一切都按预期工作,> 是可选的,因为它是默认值:
In [0]: print(f"{1:02d}\n{11:02d}\n{1:0>2d}\n{11:0>2d}")
01
11
01
11
但是当我想用空格填充它时,只要我将空格留出它也可以工作,以便它默认为空格:
In [1]: print(f"{1:2d}\n{11:2d}\n{1:>2d}\n{11:>2d}")
1
11
1
11
但如果我明确输入空格,我会对结果感到惊讶:
In [2]: print(f"{1: 2d}\n{11: 2d}\n{1: >2d}\n{11: >2d}")
1
11
1
11
这是为什么呢?
【问题讨论】:
标签: python format-string f-string