【发布时间】:2015-12-31 11:55:07
【问题描述】:
我正在学习 Python 并使用 Python 中的expandtabs 命令。
这是文档中的官方定义:
string.expandtabs(s[, tabsize])根据当前列和给定的制表符大小,将字符串中的制表符替换为一个或多个空格。在字符串中出现每个换行符后,列号将重置为零。这不理解其他非打印字符或转义序列。标签大小默认为 8。
所以我的理解是标签的默认大小是 8,为了增加它,我们可以使用其他值
所以,当我在 shell 中尝试时,我尝试了以下输入 -
>>> str = "this is\tstring"
>>> print str.expandtabs(0)
this isstring
>>> print str.expandtabs(1)
this is string
>>> print str.expandtabs(2)
this is string
>>> print str.expandtabs(3)
this is string
>>> print str.expandtabs(4)
this is string
>>> print str.expandtabs(5)
this is string
>>> print str.expandtabs(6)
this is string
>>> print str.expandtabs(7)
this is string
>>> print str.expandtabs(8)
this is string
>>> print str.expandtabs(9)
this is string
>>> print str.expandtabs(10)
this is string
>>> print str.expandtabs(11)
this is string
所以这里,
-
0完全删除制表符, -
1与默认的8完全相同, - 但是
2和1完全一样 -
3不一样 - 然后再次
4就像使用1
之后它会增加到8,这是默认值,然后在 8 之后增加。但是为什么数字从 0 到 8 的奇怪模式呢?我知道它应该从 8 开始,但这是什么原因呢?
【问题讨论】:
标签: python python-2.7 python-3.x