解决顽固的TabError: inconsistent use of tabs and spaces in indentation

本文探讨了Python编程中常见的TabError,如何因缩进设置不当引发,并介绍了Sublime Text、Notepad++、Visual Studio等编辑器的正确配置。解决方法包括统一使用Tab缩进和处理代码复制粘贴后的缩进问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TabError: inconsistent use of tabs and spaces in indentation
这个错误是不是常常遇到,而且还常常无法发现,无法找到错的原因,甚至找到后仍然无法消除?

话说,python的语法特点之一就是将c语系中的花括号界定代码域改成了依靠缩进来界定代码域(《你想由C或Java向python转换吗?浅谈他们编程语法习惯的差别》),看起来少打了一对花括号,省事吗?难说!但麻烦来了,常常会在缩进的地方出现标题所示的错误。而且不同的编辑器可能出现不同的错误。所以,各个编辑器中缩进的设置就显得至关重要!

一、各种编辑器的缩进设置
1、sublime text
我们在view菜单下可以找到indentation(缩进)
在这里插入图片描述
这里说明以下,如果一开始你的设置就是这样,那么每一次缩进都是以4个空格来进行缩进。这一定不会出现问题,怕就怕你同时也使用了最上面的Indent Using Spaces(使用空格键缩进),往往出问题都在这里了。在我们的代码中就会出现这样的情形
在这里插入图片描述
我们选择一行(Ctrl+L),则会显示缩进的具体格式。如果是这样的情形,那就必然会报标题所述的错:
在这里插入图片描述

当然,我们也可以直接进入preference的setting syntax直接对缩进进行设置,如下:
在这里插入图片描述

2、notepad++
在这里插入图片描述
勾选上面的选项后我们可以清晰的看到代码缩进的状态
在这里插入图片描述
同时别忘记了,在首先项中找到语言,设置制表符,勾选使用默认
在这里插入图片描述

3、Visual studio
在这里插入图片描述
然后ctrl + k + f 即可实现缩进
当然也可以在开始直接ctrl + a选中全文,然后进行缩进操作
在这里插入图片描述
VS 不能显示具体的缩进格式,所以不建议用它作为默认的python编辑器。

4、anaconda
在这里插入图片描述
看起来和submit text中差不多

5、pycharm
在这里插入图片描述
相比之下还是pycharm最靠谱,它设置了专门针对缩进的检查,发现tab和空格混用就会以黄色波浪线显示提示

提示:我们如果想找到那些缩进导致的错误,推荐使用sublime text和pycharm,次之为notepad++,其余的编辑器可能遇到了错误都无法找出来。

二、解决缩进问题的方法
1、就是先在各种编辑器中设置好缩进为纯Tab缩进,然后再开始编辑新文件
如果,每次都是换行来自动缩进,基本可以保证没有上述错误出现。
2、当有空格和TAb混合缩进的时候
这种情况有可能出现在以下几种情形
a、在网上拷贝进来的代码,
b、编辑过程中存在代码块的拷贝,
c、使用了空格缩进
d、编辑器中途改变了默认缩进设置
e、在错误的缩进语句基础上换行自动缩进
这5种情形,最后两种可能会让你遇到,遇到之后,你即使删除了重新编写也是绕不过这个错误,用退格键回到上一行再回车,自动产生缩进也不能解决。那么“肿么办呢”?
我的方法是拷贝!将正确的缩进选择好,拷贝到不正确的缩进行的前面,如下,以sublime text为例
在这里插入图片描述
在这里插入图片描述
上述两种情况,都会报错,如果通过backspace和自动换行都不能解决,那就采用拷贝法来解决这个顽固的错误。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值