original_docstring:  Decorator to create a lazy property that is cached on first access 
docstring: Decorator to create a lazy property that is cached on first access
docstring_tokens: Decorator to create a lazy property that is cached on first access
code: def cached_property(method):
      """ Decorator to create a lazy property that is cached on first access """
      attr = '_'+method.__name__
  
      @property
      @wraps(method)
      def func(self):
          try:
              return getattr(self, attr)
          except AttributeError:
              value = method(self)
              setattr(self, attr, value)
              return value
  
      return func
code_tokens: def cached_property ( method ) : attr = '_' + method . __name__ @ property @ wraps ( method ) def func ( self ) : try : return getattr ( self , attr ) except AttributeError : value = method ( self ) setattr ( self , attr , value ) return value return func
short_docstring: Decorator to create a lazy property that is cached on first access
short_docstring_tokens: Decorator to create a lazy property that is cached on first access
comment: """ Decorator to create a lazy property that is cached on first access """