class QueueError(IndexError):
pass
class Queue:
def init(self):
self.queue = []
def put(self, elem):
self.queue.insert(0, elem)
def get(self):
if len(self.queue) > 0:
elem = self.queue[-1]
del self.queue[-1]
return elem
else:
raise QueueError
que = Queue()
que.put(1)
que.put("dog")
que.put(False)
try:
for i in range(4):
print(que.get())
except:
print("Queue error")
output:
1
dog
False
Queue error
在def get(self)函数里,我没有用if-else statement,
直接 elem = self.queue[-1]
del self.queue[-1]
return elem
然后class QueueError(IndexError): 我也没有写
pass
最后output也可以出来1
dog
False
Queue error
请问写class和if-else statement是不是多此一举