input: Write a python function to implement a basic stack class with push, pop, peek, and is_empty methods.
  assert s := Stack(); s.is_empty() == True
  assert s.push(10); s.peek() == 10
  assert s.push(20); s.peek() == 20
  assert s.pop() == 20
  assert s.peek() == 10
  assert s.pop() == 10
  assert s.is_empty() == True
  assert s.pop() == None
output: class Stack:
      def __init__(self):
          self.items = []
  
      def push(self, item):
          self.items.append(item)
  
      def pop(self):
          if not self.is_empty():
              return self.items.pop()
          return None
  
      def peek(self):
          if not self.is_empty():
              return self.items[-1]
          return None
  
      def is_empty(self):
          return len(self.items) == 0