human
Complete the below
def lazyproperty(fn):

    ''''Allows to avoid recomputing a property over and over. Instead the result gets stored in a local var.
    Computation of the property will happen once, on the first call of the property. All succeeding calls will use
    the value stored in the private property.'
    '''
assistant
#Here is the Python program you requested.
    attr_name = (u'_lazy_' + fn.__name__)
    @property
    def _lazyprop(self):
        if (not hasattr(self, attr_name)):
            setattr(self, attr_name, fn(self))
        return getattr(self, attr_name)
    return _lazyprop