Enqueue 对象以结束 Queue 并使用 python 打印出其值
Enqueue object to end Queue and print out its value with python
我的项目中有一个队列 class,我似乎可以构建除打印方法之外的入队、出队方法。我的代码尝试将整数 1 插入队列并尝试打印出它的值
class Queue:
def __init__(self):
self.items=[]
def isempty(self):
return self.items==[]
def enqueue(self,item):
self.items.insert(0,item)
def dequeue(self, item):
self.items.pop()
def print(self,item):
print(self.items)
queue=Queue()
queue.enqueue(1)
##THIS LINE IS HAS A SYNTAX ERROR THAT print() is missing one positional argument 'self'
queue.print()
我做错了什么?
您在不带任何参数的情况下调用 print 方法。你想打印什么:整个队列还是它的头部?
我从 class Queue
中的 print
方法中删除了参数 item
,它解决了问题。此外,python 有一个 queue
模块,它已经提供了这个 class 和其他一些模块,但我离题了。这是更新后的代码,不再导致错误。
class Queue:
def __init__(self):
self.items=[]
def isempty(self):
return self.items==[]
def enqueue(self,item):
self.items.insert(0,item)
def dequeue(self, item):
self.items.pop()
def print(self):
print(self.items)
queue=Queue()
queue.enqueue(1)
queue.print()
另一个想法是定义 dunder 方法而不是打印方法 __str__
。
class Queue:
...
def __str__(self):
return str(self.items)
我的项目中有一个队列 class,我似乎可以构建除打印方法之外的入队、出队方法。我的代码尝试将整数 1 插入队列并尝试打印出它的值
class Queue:
def __init__(self):
self.items=[]
def isempty(self):
return self.items==[]
def enqueue(self,item):
self.items.insert(0,item)
def dequeue(self, item):
self.items.pop()
def print(self,item):
print(self.items)
queue=Queue()
queue.enqueue(1)
##THIS LINE IS HAS A SYNTAX ERROR THAT print() is missing one positional argument 'self'
queue.print()
我做错了什么?
您在不带任何参数的情况下调用 print 方法。你想打印什么:整个队列还是它的头部?
我从 class Queue
中的 print
方法中删除了参数 item
,它解决了问题。此外,python 有一个 queue
模块,它已经提供了这个 class 和其他一些模块,但我离题了。这是更新后的代码,不再导致错误。
class Queue:
def __init__(self):
self.items=[]
def isempty(self):
return self.items==[]
def enqueue(self,item):
self.items.insert(0,item)
def dequeue(self, item):
self.items.pop()
def print(self):
print(self.items)
queue=Queue()
queue.enqueue(1)
queue.print()
另一个想法是定义 dunder 方法而不是打印方法 __str__
。
class Queue:
...
def __str__(self):
return str(self.items)