human
Complete the below
def cached_property(fun):

    ''''A memoize decorator for class properties.'
    '''
assistant
#Here is the Python program you requested.
    @wraps(fun)
    def get(self):
        try:
            return self._cache[fun]
        except AttributeError:
            self._cache = {}
        except KeyError:
            pass
        ret = self._cache[fun] = fun(self)
        return ret
    return property(get)