Python String expandtabs() 方法
expandtabs()
方法的语法是:
string.expandtabs(tabsize)
expandtabs() 参数
expandtabs()
接受一个整数 tabsize
参数。默 认的 tabsize
是 8。
expandtabs() 的返回值
expandtabs()
返回一个字符串,其中所有的 '\t' 字符被替换为空格字符,直到下一个 tabsize
参数的倍数。
示例 1:不带参数的 expandtabs()
str = 'xyz\t12345\tabc'
# 没有传递参数
# 默认的 tabsize 是 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('原始字符串:', str)
# tabsize 设置为 2
print('Tabsize 2:', str.expandtabs(2))
# tabsize 设置为 3
print('Tabsize 3:', str.expandtabs(3))
# tabsize 设置为 4
print('Tabsize 4:', str.expandtabs(4))
# tabsize 设置为 5
print('Tabsize 5:', str.expandtabs(5))
# tabsize 设置为 6
print('Tabsize 6:', str.expandtabs(6))
输出
原始字符串: 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 个空格。