code: def __init__(self, func):
      self.func = func
      self.attrname = None
      self.__doc__ = func.__doc__
      self.lock = RLock()
  
imports: from abc import get_cache_token
  from collections import namedtuple
  from reprlib import recursive_repr
  from _thread import RLock
  from types import GenericAlias
label_desc: Use image node_id 1 to create a new cached_property object  with example: obj = cached_property(func)