2015-11-26 93 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