<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get(self, key, default=None):
 """Return the value at key ``key``, or default value ``default`` which is None by default. ['1', '2', '3', '4'] ['1', '2', '3', '4'] :param key: key of value to return :type key: str :param default: value of any type to return of key doesn't exist. :type default: Any :return: value of given key :rtype: Any """

        try:
            value = self.__getitem__(key)
        except KeyError:
            value = None

        # Py3 Redis compatibiility
        if isinstance(value, bytes):
            value = value.decode()
        return value or default