python中因空格和标签混淆而报错如何解决

介绍

这篇文章将为大家详细讲解有关python中因空格和标签混淆而报错如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在python里头,空格和标签是区分开的,二者混在一起就会报的错,要么只用空格,要么只用标签

如果你用的是python的官方编译器,通过以下方法可以直接将整个页面的间隔符号统一:

1。全选整个代码(编辑——选择所有)

2。统一间隔符号为选项卡(格式——tabify地区),或者统一间隔符号为空格(格式——untabify地区)

<强>补充:python中缩进,标签还是空格是不一样的,一般不能混用,除非设置选项卡自动替换成空格

如下所示:

实验代码:如果10祝辞4:打印(“hello”)打印(“hello”)打印(“hello”)实验一实验二实验三实验四实验五操作每一行都用1个tab键缩进第一行用1个选项卡,第二行用2个选项卡,第三行用1个标签用空格键缩进,每一行都用1个空格。第一行用1个空格,第二行用1个空格,第三行用2个空格混合用选项卡和空格:第一行用1个选项卡(编辑器中设置一个选项卡的宽度是4个空格),第二行用1个选项卡,第三行用4个空格。结果没有报错IndentationError:意想不到的缩进没有报错IndentationError:意想不到的indentIndentationError: unindent不匹配任何外缩进级别分析我们看一下代码的ASCII,以确定用的确实是选项卡看一下ASCII码,确定确实用了不同个数的标签看一下ASCII码,确定我们用的是空格(ASCII值是0 x20)用空格缩进是可以的,但是要保证每行用同样个数的空格。看一下ASCII码,就知道空格和标签混用了。空格和标签不能混用

<>强实验6

混合用选项卡和空格:每一行都用4个空格+一个标签

哦,我想起来了,贴ASCII码实在是麻烦,编辑器有一个显示空格和制表符的功能。咱们显示出来后贴个代码截图图。

<>强运行结果

你好你好

虽然可以成功运行,但这样做就是“作”。

实验结论

做了这么多实验,终于可以得出结论了:

python中缩进可以用空格,也可以用选项卡,甚至可以混用(比如每一行你先用1个选项卡,再用4个空格,再用2个选项卡,再用4个空格),

不管你怎么缩进的,你都要保证,第二行和第一行用的字符一样,第三行和第二行用的字符一样,……,也就是每一行用的字符一样。

最佳实践

其实python并没有强制要求你用制表符缩进或者用空格缩进,但在PEP8中,建议使用4个空格来缩进。

python增强建议指数8——python代码风格指南https://www.python.org/dev/peps/pep-0008/

Use  4, spaces  per  indentation 水平。

notepad++选项卡自动转换成4个空格

对于VIM,可以这样设置

设置制表符=4“设置标签显示的宽度为4个空格

设置expandtab“设置将选项卡自动展开成为空格

关于python中因空格和标签混淆而报错如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

python中因空格和标签混淆而报错如何解决