为什么在Python解释器中,第一个缩进级别设置为4空格,而第二个缩进级别设置为8空格?

为什么在Python解释器中,第一个缩进级别设置为4空格,而第二个缩进级别设置为8空格?,python,Python,让我们以两个嵌套的for循环 第一次按return和tab之后,我得到一个缩进级别,其中1个tab等于4个空格 第二次按return和tab之后,我得到了一个缩进级别,其中1个tab等于9个空格 当我想从脚本中复制一段代码并在解释器上运行它时,当它返回 TabError:缩进中制表符和空格的使用不一致 我在谷歌上搜索了一下,但你可以想象关键词“python”、“解释器”、“缩进”返回的结果:没有什么有用的东西 有没有办法纠正这个问题?谢谢 编辑 你们自己试试看: 打开一个终端 运行python

让我们以两个嵌套的
for
循环
第一次按return和tab之后,我得到一个缩进级别,其中1个tab等于4个空格
第二次按return和tab之后,我得到了一个缩进级别,其中1个tab等于9个空格

当我想从脚本中复制一段代码并在解释器上运行它时,当它返回
TabError:缩进中制表符和空格的使用不一致

我在谷歌上搜索了一下,但你可以想象关键词“python”、“解释器”、“缩进”返回的结果:没有什么有用的东西

有没有办法纠正这个问题?谢谢

编辑
你们自己试试看:
打开一个终端
运行
python
命令
然后为范围(3)中的i键入

按回车键
然后按Tab键一次,进入正确的缩进级别
然后为范围(3)中的j键入

再次按Enter键
然后按Tab键两次,以达到(预期)缩进级别

如果像我一样,你有一台Mac电脑,那么在上面最后一步中点击的第二个标签很可能会产生8个空格,而不是4个

这会在复制用IDE编写的代码行时产生问题
(我使用的是升华3,选项
将选项卡转换为空格
设置为

我希望有人能确定我的解释器的一些标志/选项/设置,以解决这个问题

标题问题: 因为在循环中有一个循环,所以处于第二缩进级别

制表/空格错误: Python只使用缩进来解释哪个块属于代码。没有“开始…结束”,没有括号。所以缩进就是信息。 规则是“缩进必须是一致的”,所以要么所有内容都是空格(1,2,4..,如您所愿),要么所有内容都是表格

有关更多信息,请参阅此处的Python风格指南(PEP8):


通过使用IDE(例如Spyder),选项卡将自动替换为空格。我建议您使用一个,特别是如果您是python新手的话。

也许可以尝试使用空格而不是制表符?在python中,代码只缩进空格和空格。不是标签。标签不是禁止的,但它们有复杂的规则。你发布的图片中没有错误吗?你能发布一些重复的东西吗?更详细地说,在Python3中,制表符从不等于任何数量的空格,每种情况下只有制表符的8个空格;第一个选项卡的前3个“插槽”由主提示和辅助提示占据。选项卡的显示是终端的工作,而不是口译员的工作。谢谢您的回答。请阅读我的编辑。尽管使用了IDE(如您所建议的),Python解释器仍返回
TabError
@andrea
1
:忘记
选项卡
键。只使用空格<代码>2:仅使用终端启动脚本文件,而不是在其中编码,这将更容易
3
:文本编辑器和IDE是两个不同的东西,SublimiteText不是IDE。