input: Write a python function to implement a hash table with put and get methods.
  assert hash_table.get('a') == None
  hash_table.put('a', 1)
  assert hash_table.get('a') == 1
  hash_table.put('b', 2)
  assert hash_table.get('b') == 2
  hash_table.put('a', 3)
  assert hash_table.get('a') == 3
  assert hash_table.get('c') == None
output: class HashTable:
      def __init__(self):
          self.table = {}
  
      def put(self, key, value):
          self.table[key] = value
  
      def get(self, key):
          return self.table.get(key, None)
  
  # Usage example
  hash_table = HashTable()
  assert hash_table.get('a') == None
  hash_table.put('a', 1)
  assert hash_table.get('a') == 1
  hash_table.put('b', 2)
  assert hash_table.get('b') == 2
  hash_table.put('a', 3)
  assert hash_table.get('a') == 3
  assert hash_table.get('c') == None