Package _Framework :: Module Util :: Class lazy_attribute
[hide private]
[frames] | no frames]

Class lazy_attribute

source code

object --+
         |
        lazy_attribute

Decorator that will turn a method in a lazy attribute. The first time the attribute is accessed its value will be computed using the decorated method and then cached.

Example:

   class MyClass(object):

       @lazy_attribute
       def my_attribute(self):
           print "Computing"
           return 0

   obj = MyClass()
   print obj.my_attribute
   print obj.my_attribute

Output:

   Computing
   0
   0
Instance Methods [hide private]
 
__init__(self, func, name=None)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
__get__(self, obj, cls=None) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, func, name=None)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)