human
Here's a good function header given the following:
I wrote the below code

    def _(*args, **kwargs):
        try:
            key = (f, tuple(args), frozenset(kwargs.items()))
            if (key not in cache):
                cache[key] = f(*args, **kwargs)
        except:
            key = ''.join((str(_) for _ in (f, args, kwargs)))
            if (key not in cache):
                cache[key] = f(*args, **kwargs)
        return cache[key]
    return _

What's a good function header?
assistant
#Here's a good function header.

def cachedmethod(f, cache={}):