2015-04-02 62 views
-2

是我还是解释器?我在代码中看不到缩进错误,但它一直告诉我存在错误!我使用自动缩进,所以它应该没问题。当存在缩进错误时,我退格并再次缩进,似乎可以修复它,因为缩进错误不再在该行上,而是在另一行上。有人能告诉我什么是错Python缩进当没有缩进错误时出错

class LogicGate: 
    def __init__(self,n): 
     self.label = n 
     self.output = None 

    def getLabel(self): 
     return self.label 

    def getOutput(self): 
     self.output = self.performGateLogic() 
     return self.output 

自我回答:我的IDE的自动缩进缩进是用标签,有时当我回来的空间,我用空格再次缩进它。所以问题在于混合空格和制表符。我建议将您的IDE设置为使用空格缩进或不使用制表符。见https://www.python.org/dev/peps/

+0

提供完整的回溯。由于制表符和空格的使用不一致,这是否是缩进错误? – 2015-04-02 15:07:52

+0

为什么这是upvoted? – 2015-04-02 15:08:42

+3

看看你的帖子的原始来源,你的'def __init__'和'self.label = n'行使用标签,其他的东西都使用空格。你应该只使用一个或另一个(最好是空格) – Kevin 2015-04-02 15:10:03

回答

1

您的分页和空间一定是混在一起。将您的编辑器设置为4个空格作为制表符。您也可以打开编辑器上的空白指示器,这可以帮助解决缩进错误。

3

这将是,

class LogicGate: 
    def __init__(self,n): 
     self.label = n 
     self.output = None 

    def getLabel(self): 
     return self.label 

    def getOutput(self): 
     self.output = self.performGateLogic() 
     return self.output 
+0

OP的可运行示例:http://repl.it/gma/1 – 2015-04-02 15:14:30

1

你的类应该是这样的:

class LogicGate: 

    def __init__(self, n): 
     self.label = n 
     self.output = None 

    def getLabel(self): 
     return self.label 

    def getOutput(self): 
     self.output = self.performGateLogic() 
     return self.output