'Set `default` if the key is not in the cache otherwise
leave unchanged. Return the value of this key.'

def setdefault(self, key, default=None):

    try:
        return self[key]
    except KeyError:
        self[key] = default
        return default
