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