jianqkx 发表于 2023-3-10 11:20:21

关于Python第28节课后练习中expendtabs函数

对于tab制表符的理解:
tab制表符的默认值为8,以“Hello\tFishC”为例,前面的Hello占5个位置,制表符则用3个空格来填满,若“Helloooo\tFishC”为例,前面“Helloooo”占8个位置,则制表符就独占8个位置,若使用expandtabs函数,例如expandtabs(2)用两个空格来代替制表符,是否意味着将制表符的默认值改为2,Hello就被分为He\ll\o三组,最后一组不满则制表符用空格填充,若最后一组已经填满,则制表符自己占一组
大佬们,不知道我这样理解对不对,如果理解有误,麻烦大佬们详细讲解一下

wanglyndon 发表于 2023-3-10 18:46:43

您对于tab制表符的理解基本上是正确的。

Tab制表符通常被设置为默认值8,这意味着每当您输入一个tab制表符时,它将占据下一个制表符停靠位,该停靠位距离当前行的起始位置为8个字符的距离。

例如,对于字符串“Hello\tFishC”,制表符将填充前一个制表符停靠位与当前位置之间的所有空格,这通常是8个空格,因此在这种情况下,“Hello”占据5个字符的位置,剩下的3个位置被制表符填充,然后“FishC”紧接着制表符停靠位。

但是,您可以使用expandtabs()函数来更改制表符的停靠位,例如expandtabs(2)将制表符的停靠位更改为2个空格。这意味着每当您输入一个tab制表符时,它将占据下一个停靠位,该停靠位距离当前行的起始位置为2个空格的距离。

在这种情况下,对于字符串“Hello\tFishC”,制表符将填充前一个制表符停靠位与当前位置之间的所有空格,这通常是2个空格。如果在前一个停靠位之后有足够的空间,制表符将使用该空间。否则,制表符将使用下一个停靠位。例如,在“Helloooo\tFishC”中,“Helloooo”占据8个字符的位置,然后制表符使用下一个停靠位,这意味着它使用了8个空格,将字符串拆分为三组:“He”,“ll”和“o”以及制表符停靠位,该停靠位与“FishC”相邻。

希望这可以帮助您理解制表符和expandtabs()函数的工作方式。

有用请设置最佳答案

jianqkx 发表于 2023-3-10 18:52:33

wanglyndon 发表于 2023-3-10 18:46
您对于tab制表符的理解基本上是正确的。

Tab制表符通常被设置为默认值8,这意味着每当您输入一个tab制表 ...

好的,谢谢
页: [1]
查看完整版本: 关于Python第28节课后练习中expendtabs函数