当我练习Python的时候,我使用了两个不同的编辑器,VSCode和记事本,因为我在外出几个星期的时候不得不在不同的计算机上编写我的程序。
但是,在记事本中,与VSCode不同的是,编辑器没有做必要的缩进,所以我手动将它们缩进空格。
但是在运行程序的时候,我遇到了这个错误,
TabError: inconsistent use of tabs and spaces in indentation
我只是不知道这是什么,想找人解释一下。
我在这个问题上看到了一个问题,“缩进中制表符和空格的不一致使用”,但在记事本中,答案中没有提到的选项。
发布于 2022-02-03 04:18:07
你有混合空格和制表符。要解决这个问题,可以使用命令: ctrl + H替换vscode中的所有选项卡,还可以使用在线编辑器vscode。
发布于 2022-02-03 04:26:12
Python依赖于正确的缩进来识别同一代码块中的行。这就是使语句以Python能够以正确的顺序理解它们的方式分组和组织在一起的原因。虽然4个空格或1个选项卡通常被视为Python中常用的缩进实践,但只要缩进在组件需要网格的块中排列,您就可以实际地做任何您想做的事情。例如,如果使用带有3个缩进空间的if语句,则不会将其视为具有5个缩进空间的后续of语句的代码块。
您在记事本上遇到的问题是基本记事本不是一个非常好的IDE的结果。坚持VSCode。
发布于 2022-02-03 04:25:26
这是因为制表符和空格混合在您的代码中。
for i in loop:
print(i) # with tab
print(i) # with 4 spaces
>>> TabError: inconsistent use of tabs and spaces in indentation
由于混合使用制表符和空格缩进,此代码将导致异常,例如TabError: inconsistent use of tabs and spaces in indentation
。
您必须在制表符和4个空格之间选择一个(实际上,它可以是任意数量的空格)。
要解决记事本中的问题,可以将所有4个空格替换为选项卡,如下所示:https://www.tenforums.com/tutorials/114308-find-replace-text-notepad-windows-10-a.html
https://stackoverflow.com/questions/70928106
复制相似问题