Question

A Python Queue class uses a list. Its is_empty method is implemented incorrectly. class Queue:     def __init__(self):         self._items = []     def enqueue(self, item):         self._items.append(item)     def dequeue(self):         if not self.is_empty():             return self._items.pop(0)         else:             raise IndexError("Queue is empty")     def is_empty(self):         return self._items is None # Potential bug here If q = Queue() is created, and then q.dequeue() is called without any prior enqueue operations, what will happen?

A It will correctly raise an IndexError("Queue is empty").
B It will return None.
C It will raise an AttributeError.
D It will raise a TypeError.
E It will raise an IndexError because _items is an empty list, not None.
Practice Next

Hey! Ask a query