3
我想編碼我的第一個隊列類。到目前爲止,我有這個代碼,seemes工作:在Python中初始化隊列
class Queue(list):
def __init__(self):
self = []
def insert(self, x):
self.append(x)
return self
def delete(self):
if len(self) == 0:
print "The queue is empty"
else:
self.remove(self[0])
return self
不過,我recomended重寫它,當我嘗試這樣的事情我得到錯誤的結果:
class Queue:
def __init__(self):
self.items = []
def insert(self, x):
self.items.append(x)
測試:
queue = Queue()
print queue
queue.insert(5)
print queue
了:
<__main__.Queue instance at 0x0000000002A2F148>
<__main__.Queue instance at 0x0000000002A2F148>
請問你能否解釋兩種方法之間的區別,以及爲什麼第二種方法不起作用(儘管我在很多網站上看到過)?
第二個作品,只是override' __str__'或者執行'print queue.items' – Andrey
你將如何運行你的第一個方法,第二個方法的期望輸出是什麼 – The6thSense
測試的預期輸出(見上面的「測試」)分別是[],[5]。我使用第一個代碼版本並使用第二個代碼版本跟隨__str__ advise(謝謝!)。 – Irina