以下python代码抛出此错误消息,我无法说明原因,我的标签似乎排成一行:
File "test.py", line 12
pass
^ TabError: inconsistent use of tabs and spaces in indentation
我的代码:
class eightPuzzle(StateSpace):
StateSpace.n = 0
def __init__(self, action, gval, state, parent = None):
StateSpace.__init__(self, action, gval, parent)
self.state = state
def successors(self) :
pass
答案 0 :(得分:7)
空格是首选的缩进方法。
标签应仅用于与已使用标签缩进的代码保持一致。
Python 3不允许混合使用制表符和空格进行缩进。
使用标签和空格混合缩进的Python 2代码应转换为仅使用空格。
当使用-t选项调用Python 2命令行解释器时,它会发出有关非法混合制表符和空格的代码的警告。使用-tt时,这些警告会出错。强烈建议使用这些选项!
答案 1 :(得分:0)
不使用退格键也很重要(尤其是在Leafpad编辑器中)。如果要减少缩进,请仅使用Alt_key + TAB
。
当您在Python代码中删除一行时,应该这样做。
答案 2 :(得分:0)
使用Visual Studio 2019
我正在使用制表符,但编辑器正在插入空格,这将导致错误。
为避免混淆空格和制表符,请设置您的首选项
转到“编辑”->“高级”->“设置前导空白”->“制表符”(或空白)
将其设置为“标签”后,我的标签不再显示为空格,此后效果很好
答案 3 :(得分:-1)
在文本编辑器中打开您的代码,突出显示所有代码(ctr + a)并转到格式并选择“Tabify region”或“Untabify region”。它只会使所有缩进具有相同的格式。