title: python cached_property : how to delete?
body: <p>Consider the following system of cached and deleting properties from a class : </p>
  
  <pre><code>class cached_property(object):
      """
      Descriptor (non-data) for building an attribute on-demand on first use.
      """
  
      def __init__(self, factory):
          """
          &lt;factory&gt; is called such: factory(instance) to build the attribute.
          """
          self._attr_name = factory.__name__
          self._factory = factory
  
      def __get__(self, instance, owner):
          # Build the attribute.
          attr = self._factory(instance)
  
          # Cache the value; hide ourselves.
          setattr(instance, self._attr_name, attr)
  
          return attr
  
  
  class test():
  
      def __init__(self):
          self.kikou = 10
  
      @cached_property
      def caching(self):
          print("computed once!")
          return True
  
      def clear_cache(self):
          try: del self.caching
          except: pass
  
  b = test()
  print(b.caching)
  b.clear_cache()
  </code></pre>
  
  <p>Is it the right way to delete this cached property ? I am not shure of the way i did it..</p>