首页 > 解决方案 > 我不明白 python 中的选项 -t

问题描述

我不明白这个选项,我明白措辞,但我不明白这种情况何时发生。

-t - 当源文件混合使用制表符和空格进行缩进时发出警告,这种方式使其依赖于以空格表示的制表符的价值。

因此,如果有可能有人在取决于以空格表示的制表符的价值时向我解释。如果我制作一个制表符,它被计为 4 个空格。一次\t = 4 * \s对吗?

如果我有\t\s\s\s\t\s不一样?

标签: pythonpython-3.x

解决方案


问题不在一行之内,而是在不同的行之间。例如,在这样的代码中:

if a:
····if b:
········print("X")
⇥print("Y")

如果制表符是 4 个空格,Y则打印 if a。如果制表符是 8 个空格,Y则打印 ifab. 如果选项卡是任何其他设置,则它是无效代码。

不太重要的是,这两个命令应该处于相同的缩进级别是令人困惑的(只要 tab > 2 个空格):

··⇥print("X")
⇥print("Y")

因为制表符不会盲目地转换为空格,而是向前跳转到特定的列。所以,

如果我有\t\s\s\s\t\s不一样?

那是对的。给定 tab = 4 个空格设置,前者将在第 6 列结束(转到第 4 列,前进 1,前进 1),而后者在第 5 列结束(前进 1,转到第 4 列,前进 1)。


推荐阅读