为什么python中的“ \ t”会使输出自动向左对齐?

时间:2019-10-07 18:36:21

标签: python tabs alignment

在我的作业中,我被告知要制作一张5行10列的功率表。第i行第j列的功率表的值为j ^ i。并且该列应以制表符隔开。

row = 5
column = 10

i = 1
while (i <= row):
    j = 1
    while( j <= column):
        print(j ** i, end = '\t')
        j += 1
    print("")
    i += 1

这是输出

Output

这很好,但是我不明白为什么每一列都自动对齐到左侧。是否不应该'\ t'创建一个每次都有4个空格的相同长度的制表符?例如,“ 9和10”与“ 59049和100000”之间的最后两列中的空格显然不相等。为什么会这样?

1 个答案:

答案 0 :(得分:1)

那应该是这样的。

当在终端上打印一个制表符时,它会变成足够的空格,可以最多8 *的下一个倍数。 (这对于制作 tab 文件很有用。)

因此,如果您打印用制表符分隔的数字对,则会得到:

        | <-- 8 characters is here
1       23456
12      3456
123     456
1234    56

等但是,当您使用它们缩进时,您看不到这种效果,因为当它们前面没有任何东西时,它们全都以全角显示,所以您得到:

        | <-- 8 characters is here
non-indented stuff
        indented stuff

*制表符大小在许多文本编辑器中都是可配置的,但通常在终端上是不可配置的,在终端上,传统的默认值为8。