Класс "Очередь-FIFO".


Нужно написать класс "Очередь-FIFO"..
В классе должны быть следующие методы:
- добавить элемент в очередь;
- убрать первый элемент;
- посмотреть последний элемент в очереди;
- посмотреть первый элемент в очереди;
- проверить пуста ли очередь;
- узнать размер очереди;
- очистить очередь;
- вывести очередь на экран.



"""КЛАСС ОЧЕРЕДЬ-FIFO"""
class Queue:
    def __init__(self):
        self.__data = list()                                            # для очереди выбран список 

    def enqueue(self, item):                                            # добавить элемент в очередь
        self.__data.append(item)            
    
    def dequeue(self):                                                  # убрать первый элемент
        if len(self.__data) > 0:            
            return self.__data.pop(0)            
        return None                                                     # вернуть None, если очередь пуста

    def rear(self):                                                     # посмотреть последний элемент в очереди
        if len(self.__data) > 0:            
            return self.__data[-1]          
        return None                                                     # вернуть None, если стек пуст    

    def front(self):                                                    # посмотреть первый элемент в очереди
        if len(self.__data) > 0:            
            return self.__data[0]          
        return None                                                     # вернуть None, если стек пуст    

    def is_empty(self):                                                 # проверить пуста ли очередь
        return len(self.__data) == 0                                    

    def size(self):                                                     # узнать размер очереди
        return len(self.__data)     

    def clear(self):                                                    # очистить очередь
        self.__data = []

    def show(self):                                                     # вывести очередь в stdout    
        if self.__data != []:
            print("\nОчередь:")
            result = "\n".join([str(i) for i in self.__data])
            result = result.removesuffix("\n")
            print(result)
        else:
            print("\nОчередь пуста.\n")
    

# создать объект класса "Stack"
a = Queue()                                                 

# добавляем или убираем элементы из очереди FIFO
a.enqueue(1)
a.enqueue(2)
a.enqueue(3)
a.enqueue(4)
a.enqueue(5)
a.enqueue(6)
a.enqueue(7)
a.enqueue(8)
a.enqueue(9)
a.dequeue()

# посмотрим последний элемент в очереди
print("\nПоследний в очереди:", a.rear())

# посмотрим первый элемент в очереди
print("\nПервый в очереди:", a.front())

# проверить пуста ли очередь
print("\nПуста ли очередь?", a.is_empty())

# узнать размер очереди
print("\nРазмер очереди:", a.size())

# вывести очередь
a.show()

# очистить очередь и вывести
a.clear(); a.show()