多个选项卡的print语句中看似奇怪的行为

时间:2013-12-01 02:08:56

标签: python

我看了这个,似乎无法弄清楚为什么会发生这种情况。

print "Percentage of A\tB\tC\tD"
#prints: Percentage of A B      C        D

然而,

print "Percentage of  A\tB\tC\tD"
#prints: Percentage of  A        B       C        D

两个问题:

  1. 为什么ofA之间的额外空间有所不同?
  2. 为什么两个字母之间的空格间隔不相同?

2 个答案:

答案 0 :(得分:4)

或者,您可以使用字符串格式并指定每个字段的宽度 (例如{0:8} {1:8}等)

答案 1 :(得分:2)

如何处理标签取决于终端或控制台。通常,他们缩进特定制表位;预定义列,无论选项卡的打印位置如何。

E.g。如果每8个空格有一个制表位,则在第12列打印制表符表示光标跳到第16列,并且跳过8个空格到第20列。

添加了空格后,您将标签填写到位置24的 next 标签停止位置:

>>> len('Percentage of A')
15
>>> len('Percentage of  A')
16