class_docstr: A property that is only computed once per instance and then replaces itself
  with an ordinary attribute. Deleting the attribute resets the property.
  
  Based on https://github.com/pydanny/cached-property/blob/master/cached_property.py
class_docstr_tok: ["A","property","that","is","only","computed","once","per","instance","and","then","replaces","itself","with","an","ordinary","attribute",".","Deleting","the","attribute","resets","the","property",".","Based","on","https",":","\/\/github.com\/pydanny\/cached-property\/blob\/master\/cached_property.py"]
code: def __init__(self, func):
      self.__doc__ = func.__doc__
      self.func = func
  
imports: import ast
  import itertools
  import types
  from collections import OrderedDict, Counter, defaultdict
  from types import FrameType, TracebackType
  from typing import Iterator, List, Tuple, Iterable, Callable, Union, TypeVar, Mapping
  from asttokens import ASTText
label_desc: Use image node_id 1 to create a new cached_property object from inherited base classes: object with example: obj = cached_property(func)