Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 定义变量时出现意外缩进_Python_Python 2.7_Indentation - Fatal编程技术网

Python 定义变量时出现意外缩进

Python 定义变量时出现意外缩进,python,python-2.7,indentation,Python,Python 2.7,Indentation,我是Python新手,它让我对缩进错误感到困惑。在下面的图像中,为什么第一个可以工作,而第二个会给我一个缩进错误 作品: 不工作:(注意记事本++中弹出的额外树扩展器) 错误: File ".\sigma.py", line 14 for val in vs: ^ IndentationError: unexpected indent 我使用的是记事本+,任何地方都没有空格/制表符问题。另外,在Python控制台上试用了它,并在第二幅图像中以完全相同的方式键入它。它很好

我是Python新手,它让我对缩进错误感到困惑。在下面的图像中,为什么第一个可以工作,而第二个会给我一个缩进错误

作品:

不工作:(注意记事本++中弹出的额外树扩展器)

错误:

  File ".\sigma.py", line 14
    for val in vs:
    ^
IndentationError: unexpected indent

我使用的是记事本+,任何地方都没有空格/制表符问题。另外,在Python控制台上试用了它,并在第二幅图像中以完全相同的方式键入它。它很好用。我猜这是一个非常合乎逻辑的解释,但是来自强大的类型背景(>5年的Java经验),这感觉像是一个不必要的错误。

您正在混合制表符和空格。不要这样做,它会产生不一致的缩进问题

通过选项卡检查器运行脚本:

python -tt script.py
并修复所有选项卡(替换为空格),然后将编辑器配置为仅使用空格

有关记事本++,请参见:


    • 您正在混合制表符和空格。不要这样做,它会产生不一致的缩进问题

      通过选项卡检查器运行脚本:

      python -tt script.py
      
      并修复所有选项卡(替换为空格),然后将编辑器配置为仅使用空格

      有关记事本++,请参见:


      您确定没有混合标签和空格吗?尝试撤消和重做缩进。我一直在使用NPP进行python编程,但我从未见过有错误的
      [-]
      ,也没有您描述的问题。你的制表符设置是什么?我在记事本++中复制它的唯一方法是使用混合缩进(制表符和空格)。我很确定这就是问题所在。这不是一个“不必要的”错误,因为缩进是Python语法的一部分。是的,制表符和空格问题是正确的。我的印象是,我已经在记事本++中启用了它,但事实并非如此。谢谢您确定没有混合制表符和空格吗?尝试撤消和重做缩进。我一直在使用NPP进行python编程,但我从未见过有错误的
      [-]
      ,也没有您描述的问题。你的制表符设置是什么?我在记事本++中复制它的唯一方法是使用混合缩进(制表符和空格)。我很确定这就是问题所在。这不是一个“不必要的”错误,因为缩进是Python语法的一部分。是的,制表符和空格问题是正确的。我的印象是,我已经在记事本++中启用了它,但事实并非如此。谢谢@Cfreak:styleguide指定只使用空格是有原因的。没有人能在标签的可视大小上达成一致,标签的可视性不够,而且“它们节省空间”的论点在今天的存储容量中不再成立。最重要的是,它们会导致像刚才经历的OP那样的问题。@MartijnPieters@NullUserException:我声称是外来的-英语不是我的第一语言,所以如果我大声而缓慢地说,会有帮助吗?:-)我有时会把语法和拼写搞混,特别是因为我也不再住在我的祖国了,当地语言是另一种日耳曼语,当我用一种模糊相关的外语说话或写作时,会陷入很多微妙的陷阱。我相当确定我在记事本++中启用了空格制表符。原来是在我的工作笔记本电脑里,而不是我的个人电脑里。这解决了问题,谢谢@Cfreak:styleguide指定只使用空格是有原因的。没有人能在标签的可视大小上达成一致,标签的可视性不够,而且“它们节省空间”的论点在今天的存储容量中不再成立。最重要的是,它们会导致像刚才经历的OP那样的问题。@MartijnPieters@NullUserException:我声称是外来的-英语不是我的第一语言,所以如果我大声而缓慢地说,会有帮助吗?:-)我有时会把语法和拼写搞混,特别是因为我也不再住在我的祖国了,当地语言是另一种日耳曼语,当我用一种模糊相关的外语说话或写作时,会陷入很多微妙的陷阱。我相当确定我在记事本++中启用了空格制表符。原来是在我的工作笔记本电脑里,而不是我的个人电脑里。这解决了问题,谢谢!