expandtabs()
方法的语法是
string.expandtabs(tabsize)
expandtabs() 参数
expandtabs()
接受一个整数 tabsize 参数。默认的 tabsize 是 8。
expandtabs() 的返回值
expandtabs()
返回一个字符串,其中所有 **'\t'** 字符都替换为空格字符,直到下一个 tabsize
参数的倍数。
示例 1:不带参数的 expandtabs()
str = 'xyz\t12345\tabc'
# no argument is passed
# default tabsize is 8
result = str.expandtabs()
print(result)
输出
xyz 12345 abc
Python 中 expandtabs() 的工作原理是什么?
expandtabs()
方法会跟踪当前光标位置。
上述程序中第一个 **'\t'** 字符的位置是 3。并且,tabsize 是 8(如果未传递参数)。
expandtabs()
字符会将 **'\t'** 替换为空格,直到下一个制表符停止点。**'\t'** 的位置是 3,第一个制表符停止点是 8。因此,'xyz' 后面的空格数为 5。
下一个制表符停止点是 tabsize 的倍数。下一个制表符停止点是 16、24、32 等。
现在,第二个 **'\t'** 字符的位置是 13。并且,下一个制表符停止点是 16。因此,'12345' 后有 3 个空格。
示例 2:使用不同参数的 expandtabs()
str = "xyz\t12345\tabc"
print('Original String:', str)
# tabsize is set to 2
print('Tabsize 2:', str.expandtabs(2))
# tabsize is set to 3
print('Tabsize 3:', str.expandtabs(3))
# tabsize is set to 4
print('Tabsize 4:', str.expandtabs(4))
# tabsize is set to 5
print('Tabsize 5:', str.expandtabs(5))
# tabsize is set to 6
print('Tabsize 6:', str.expandtabs(6))
输出
Original String: xyz 12345 abc Tabsize 2: xyz 12345 abc Tabsize 3: xyz 12345 abc Tabsize 4: xyz 12345 abc Tabsize 5: xyz 12345 abc Tabsize 6: xyz 12345 abc
解释
- 默认的 tabsize 是 8。制表符停止点是 8、16 等。因此,当您打印原始字符串时,'xyz' 后有 5 个空格,'12345' 后有 3 个空格。
- 当您将 tabsize 设置为 2 时。制表符停止点是 2、4、6、8 等。对于 'xyz',制表符停止点是 4,对于 '12345',制表符停止点是 10。因此,'xyz' 后有 1 个空格,'12345' 后有 1 个空格。
- 当您将 tabsize 设置为 3 时。制表符停止点是 3、6、9 等。对于 'xyz',制表符停止点是 6,对于 '12345',制表符停止点是 12。因此,'xyz' 后有 3 个空格,'12345' 后有 1 个空格。
- 当您将 tabsize 设置为 4 时。制表符停止点是 4、8、12 等。对于 'xyz',制表符停止点是 4,对于 '12345',制表符停止点是 12。因此,'xyz' 后有 1 个空格,'12345' 后有 3 个空格。
- 当您将 tabsize 设置为 5 时。制表符停止点是 5、10、15 等。对于 'xyz',制表符停止点是 5,对于 '12345',制表符停止点是 15。因此,'xyz' 后有 2 个空格,'12345' 后有 5 个空格。
- 当您将 tabsize 设置为 6 时。制表符停止点是 6、12、18 等。对于 'xyz',制表符停止点是 6,对于 '12345',制表符停止点是 12。因此,'xyz' 后有 3 个空格,'12345' 后有 1 个空格。
另请阅读