2015-11-26 81 views
0

我创建的程序应该运行一个队列类,但是会发生错误,即append无法在类中使用,因为它不存在,甚至认为它被设置为字符串。有人能帮我理解为什么我收到这些错误吗?在python中创建一个类 - 错误

class Queue: 

    def queue(self): 
     self.queue = [] 
     self.out_stack = [] 

    def enqueue(self, other='string'): 
     self.enqeue = self.queue.append(other) 

    def dequeue(self): 
     if not self.out_stack: 
      while self.queue: 
       self.dequeue = self.out_stack.append(self.queue.pop(1)) 
     return self.dequeue 

    def isEmpty(self): 
     return self.queue == [] 

回答

2

当你创建一个实例变量self.queue,你是阴影通过def queue(self):

看起来这个方法定义的方法或许应该是你__init__方法

class Queue: 

    def __init__(self): 
     self.queue = [] 
     self.out_stack = [] 

    def enqueue(self, other='string'): 
     self.queue.append(other) 

    def dequeue(self):    # what is this method supposed to do? 
     if not self.out_stack: 
      while self.queue: 
       self.dequeue = self.out_stack.append(self.queue.pop(1)) 
     return self.dequeue 

    def isEmpty(self): 
     return self.queue == [] 

现在仍然有将self.dequeue用作方法和属性的类似问题。我不确定你在那里做什么。

+0

谢谢。作为一个属性程序正在工作,我没有意识到摆脱了出列 – Stephanie