如果声明,缩进Python的错误是什么?

时间:2012-02-19 01:38:46

标签: python python-3.x

我有

if p != None && (self.running == None or self.running < p):                 
    self.preempt(p) 

缩进有什么问题?

3 个答案:

答案 0 :(得分:8)

使用and代替&&

同样PEP 8 -- Style Guide for Python Code说:

  

应该始终使用isis not来比较像None这样的单例,而不是等式运算符。

结果应该是:

if p is not None and (self.running is None or self.running < p):
    self.preempt(p)

答案 1 :(得分:2)

很可能它与先前语句的缩进不匹配(您可能混合制表符和空格,或者缩进可能与先前语句的数量不同)。其余的代码和实际的错误消息会有所帮助。

答案 2 :(得分:1)

实际上尝试这会产生类似的错误消息:

  • 如果源位于文件中:

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "test.py", line 1
        if x && y:
              ^
    SyntaxError: invalid syntax
    
  • 如果输入的来源是:

      File "<stdin>", line 1
        if x && y: pass
              ^
    SyntaxError: invalid syntax
    

在这两种情况下,请注意^指向&&的方式?这是因为&&语法无效(如消息所示)。它与缩进无关(就像消息没有说的那样)。