Класс стека Python: реализация и методы

В Python стек — это структура данных, которая соответствует принципу «Последним пришел — первым вышел» (LIFO), при котором элементы добавляются и удаляются сверху. Вот пример класса стека в Python с некоторыми распространенными методами:

class Stack:
    def __init__(self):
        self.stack = []
    def is_empty(self):
        return len(self.stack) == 0
    def push(self, item):
        self.stack.append(item)
    def pop(self):
        if not self.is_empty():
            return self.stack.pop()
        else:
            raise IndexError("Stack is empty")
    def peek(self):
        if not self.is_empty():
            return self.stack[-1]
        else:
            raise IndexError("Stack is empty")
    def size(self):
        return len(self.stack)

В этом примере класс Stackимеет следующие методы:

  1. __init__()— инициализирует пустой стек.
  2. is_empty()— проверяет, пуст ли стек, и возвращает Trueили False.
  3. push(item)– добавляет элемент на вершину стека.
  4. pop()— удаляет и возвращает верхний элемент из стека. Вызывает IndexError, если стек пуст.
  5. peek()— возвращает верхний элемент стека, не удаляя его. Вызывает IndexError, если стек пуст.
  6. size()– возвращает количество элементов в стеке.